在编译时重命名符号,无需以跨平台方式更改代码

2023-11-25

在创建静态对象时,是否可以在编译时以跨平台方式重命名符号(无需更改代码)?我最近推荐了 objcopy,但 linux 不是唯一的目标平台,它也必须在 mac 上运行。我正在使用 gcc 进行编译,所以我希望有某种 gcc 选项。

我听说过 .def 文件,但这可能具有误导性,因为我发现的有关它们的信息似乎适用于 Windows。

编辑: 我正在尝试更改 C 和 Fortran 函数的名称,特别是在它们前面加上“wrap”一词,以避免链接时的符号冲突。


是否可以在编译时重命名符号

您也许可以使用预处理器来实现它:

gcc -c foo.c -Dfoo=foo_renamed
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在编译时重命名符号,无需以跨平台方式更改代码 的相关文章

随机推荐

  • 获取当前域名

    我的网站在服务器上http www myserver uk com 在此服务器上我有两个域 one com and two com 我想使用 PHP 获取当前域名 但是如果我使用 SERVER HTTP HOST 然后它向我展示 myser
  • 如何在 Rails 连接表迁移中正确索引字段?

    Rails 4 引入了生成连接表迁移的功能 bin rails generate migration CreateTeamsUsersJoinTable team user 这会产生以下文件 class CreateTeamsUsersJo
  • 使用 jQuery,如何仅查找可见元素并保留隐藏元素?

    所以我从第 1 4 项开始 div class someDiv bold italic style display none Lorem div div class someDiv regular italic style display
  • 如何对使用 perlcc 编译的 Perl 程序进行逆向工程?

    我继承了一个在 Unix 上有 编译 perl 脚本的环境 是否可以对其进行反编译 反向工程 无论术语是什么 并从编译后的目标代码中获取源代码 可能不可能 但我想我会问而不是假设 谢谢 凯文 省略已经介绍过的字节码后端 tchrist 只讨
  • CakePHP 2个单独的登录表

    我有一个 Cake 网站 它需要有两个单独的登录名 每个登录名都有自己的登录表单并看到不同的页面 最好有两个不同的表 因为两类人之间没有相似之处 每个登录表单仅由某些人使用 他们永远不会登录另一个表单 反之亦然 还有 两个登录表之间有关系
  • bean实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:

    我的控制器中的构造函数有一些问题 我尝试在构造函数中调用一项服务 该服务在 AbstractController 中自动装配 但我遇到了空指针异常 一个组件 Component RestController RequestMapping v
  • Java/XSLT:找不到匹配的 1 参数函数

    我收到以下错误 javax servlet ServletException Cannot find a matching 1 argument function named http exslt org dynamic evaluate
  • Spring Boot 数据源配置

    我正在尝试使用application properties文件来配置 Spring Boot 必须使用的数据源 我已将以下属性放入其中 spring datasource driverClassName org postgresql Dri
  • 如何将 URI 转换为文件 Android 10

    如何在 android 10 及以上版本中从 URI 获取文件对象或将 URI 转换为文件对象 final File file new File Environment getExternalStorageDirectory read me
  • Lucene索引从4.6版本升级到8.0.0

    我正在尝试将 Lucene 索引从 4 6 升级到 8 0 0 当我尝试使用以下方式升级工具时 java cp lucene core jar lucene backward codecs jar org apache lucene ind
  • 递归记忆化

    我试图理解memoization的Haskell实现 但我不明白它是如何工作的 memoized fib Int gt Integer memoized fib map fib 0 where fib 0 0 fib 1 1 fib n m
  • 刷新不起作用

    Why fflush 不起作用c2 and c0 如果我使用声明c0 0 and c2 0它有效 但是fflush stdin 不起作用 我尝试放在不同的地方 但它不起作用 我在 ubuntu 13 04 中使用代码块 int main v
  • 如何将 mysql_data_seek 与 PDO 一起使用?

    我想将 mysql data seek 与来自 google 搜索的 PDO 一起使用我发现它应该如下所示 row0 result gt fetch PDO FETCH ASSOC PDO FETCH ORI ABS 0 但这不起作用 我做
  • 同一 AppDomain 中的多个 WPF 应用程序

    我得到以下设置 WPF 应用程序 exe and 包含 WinForms 窗口和 WPF 窗口的 DLL WPF Application exe 从 DLL 调用 WinForms 窗口 WinForms 窗口在 DLL 中创建 WPF 窗
  • 如何将数据从DialogFragment发送到Fragment?

    我有一个片段可以打开Dialogfragment获取用户输入 字符串和整数 我如何将这两件事发送回片段 这是我的 DialogFragment public class DatePickerFragment extends DialogFr
  • 我可以将 Javascript 对象传递给 Android WebView 吗?

    我正在将 Web 应用程序迁移到 Android 版本 接收并处理 JSON 数据后 我在页面中保存了一组 Javascript 对象 如何将 javascript 对象之一的完整内容 传出 到 webview 容器以使用本机 androi
  • 为什么 jQuery 的 .ajax() 方法不发送我的会话 cookie?

    登录后通过 ajax 到某个网站 我正在尝试发送第二个 ajax 向该站点发出请求 但是当我检查使用 FireBug 发送的标头时 请求中不包含会话 cookie 我究竟做错了什么 我是在跨域场景下操作的 在登录期间 远程服务器返回 Set
  • 制作一个android地图菜单来改变地图类型

    我的 Android 应用程序中有一张地图 默认情况下 它显示卫星视图 但我已将其关闭以仅显示路线图视图 但是 我想知道如何构建一个菜单 以便当用户按下菜单按钮时 它会在底部显示一个带有 切换卫星地图 的部分 我将来会在菜单中添加其他项目
  • Linq-to-sql 不包含或不在?

    我正在构建一个民意调查小部件 我有 2 个表 分别称为 Polls 和 PollsCompleted 我需要执行 linq 查询来获取 PollsCompleted 中给定用户不存在的所有民意调查 我有以下几套 民意调查 其中 Active
  • 在编译时重命名符号,无需以跨平台方式更改代码

    在创建静态对象时 是否可以在编译时以跨平台方式重命名符号 无需更改代码 我最近推荐了 objcopy 但 linux 不是唯一的目标平台 它也必须在 mac 上运行 我正在使用 gcc 进行编译 所以我希望有某种 gcc 选项 我听说过 d