避免链接到libstdc ++

Bri*_*ian 15 c++ linux linker gcc libstdc++

我正在开发一个目前在Linux和uClibc中使用C的嵌入式项目.我们有兴趣将它转移到C++,但我不希望与libstdc ++中的链接相关的开销.我的印象是,如果我们不使用STL中的任何内容,例如iostream或vector,这是可能的.

如何在不链接到libstdc ++的情况下直接编译g ++?

Kev*_*ent 12

编译时,g++ -c仅用于编译.然后进行链接,ld而不是使用g++.这会直接调用链接器,但是需要您在命令行上命名所有库(包括libc和libcrt).

或者,如果您使用g ++作为"更好的c",您可以使用gcc最终的链接步骤(将自动包含libc)


Wie*_*zny 10

你可以用

g++ -nodefaultlibs -fno-exceptions a.cc
Run Code Online (Sandbox Code Playgroud)

但你不能用这种方式使用所有的c ++功能......