我在某处读到c ++目标文件必须只通过g ++而不是gcc链接。这是真的吗?如果是,那么如何链接目标文件属于c,c ++和asm?
答案 0 :(得分:6)
如果使用g++
进行链接,则会自动链接到C ++运行时库。如果您与gcc
链接,则必须手动链接到运行时。
这是唯一的区别。
gcc
和g++
程序只是特殊的前端包装程序,它们为所提供的文件调用正确的预处理程序,编译器,汇编程序和链接程序。
答案 1 :(得分:-4)
是的,由于名称错误,你必须使用G ++链接C ++。
请参阅此处的主题https://en.wikipedia.org/wiki/Name_mangling
C ++名称与C-abi兼容,您可以将C ++目标文件链接到C代码。