Vol*_*orm 6 c linker fortran symbols
在创建静态对象时,是否可以在跨平台的方式在编译时重命名符号(不更改代码)?我最近推荐使用objcopy,但linux并不是唯一一个必须在mac上工作的目标平台.我正在使用gcc编译,所以我希望有某种gcc选项.
我听说过.def文件,但这可能会误导,因为我发现的有关它们的信息似乎是针对Windows的.
编辑:我正在尝试更改C和Fortran函数的名称,特别是使用"wrap"一词预先挂起它们,以避免链接时出现符号冲突.
Emp*_*ian 6
是否可以在编译时重命名符号
您可以使用预处理器实现它:
gcc -c foo.c -Dfoo=foo_renamed
Dav*_*son 5
您可以使用gcc alias属性创建指向同一函数的多个符号.
void name1() __attribute__((alias ("name2")));
我不确定alias属性是否适用于其他类型的符号(例如变量).
归档时间:
14 年,9 月 前
查看次数:
4628 次
最近记录:
8 年,7 月 前