|
|
1
15
从 GCC page on Atomic Builtins :
从编译器输出判断,它指
这很可能就是为什么在32位模式下只会出现错误的原因——在64位模式下编译时,它会更紧密地为处理器编译。当为32位编译时,它很可能使用了一个不支持这些特性的通用arch(例如i386)。尝试通过-mcpu为您的芯片系列(Xeon、Core2等)指定一个特定的体系结构,看看是否有效。 如果没有,那么您必须弄清楚为什么gcc没有包含它应该生成的适当函数。 |
|
|
2
24
丹·乌迪的回答很接近,实际上足够接近,让我找到真正的解决办法。 根据手册页,“-mcpu”是不推荐使用的“-mtune”的同义词,它的意思是“针对特定CPU进行优化(但仍在较旧的CPU上运行,尽管不是最佳的)”。我试过了,但没有解决问题。 但是,“-march=”表示“为特定的CPU生成代码(不要在旧的CPU上运行)”。当我尝试这样做的时候,它解决了这个问题:指定一个I486或更好的CPU来消除链接错误。
|
|
|
adversarr · 全局变量何时导出到可执行文件? 1 年前 |
|
Jip Helsen · 在c中导入链接器地址 2 年前 |
|
Petr Skocik · 与定制的pcc链接 2 年前 |
|
|
KRISHNAKANT MALI · 预处理器和链接器功能中的歧义 2 年前 |
|
|
ihdv · 在c++编译中,提供链接库路径的linux命令是什么? 2 年前 |
|
|
Hans · 避免在C++中优化未使用的变量? 2 年前 |