避免将与libstdc ++
题
我的工作,目前采用C在Linux和uClibc的嵌入式项目。我们感兴趣的是将其移动到C ++,但我不希望在连接的libstdc ++相关的开销。我的印象是,这是可能的,只要我们不从STL使用任何东西,如iostream的或载体。
一个人如何直接克++编译不链接与libstdc ++?
解决方案
在编译,使用g++ -c
只编译。那么对于连接,使用ld
代替g++
。这将调用直接接头,这需要你的名字在命令行上所有的库(包括libc和libcrt),然而
可替换地,如果您使用的克++为“更好的C”,则可以使用用于gcc
最终链接步骤(其中将包括自动的libc)
其他提示
您可以使用
g++ -nodefaultlibs -fno-exceptions a.cc
但你不能使用所有C ++特性这样...
有关完整性和正确性的缘故:
g++ -c -fno-exceptions a.cpp
gcc a.o -o a
不隶属于 StackOverflow