作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在创建静态对象时,是否可以在编译时以跨平台方式重命名符号(不更改代码)?我最近推荐了 objcopy,但 linux 不是唯一的目标平台,它还必须在 mac 上运行。我正在使用 gcc 进行编译,所以我希望有某种 gcc 选项。
我听说过 .def 文件,但这可能是一种误导,因为我发现的有关它们的信息似乎是针对 Windows 的。
编辑:我正在尝试更改 C 和 Fortran 函数的名称,特别是在它们前面加上单词“wrap”以避免链接时的符号冲突。
最佳答案
is it possible to rename the symbols at compile time
您可以使用预处理器实现它:
gcc -c foo.c -Dfoo=foo_renamed
关于c - 在编译时重命名符号而不以跨平台方式更改代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7204836/
我是一名优秀的程序员,十分优秀!