19

私は現在LinuxとuClibcでCを使用している組み込みプロジェクトに取り組んでいます。これをC++に移行することに関心がありますが、libstdc++でのリンクに関連するオーバーヘッドは必要ありません。私の印象では、これは、iostreamやvectorなどのSTLから何も使用しない場合に可能です。

libstdc++にリンクせずにg++をコンパイルするように指示するにはどうすればよいですか?

4

3 に答える 3

13

あなたが使うことができます

g++ -nodefaultlibs -fno-exceptions a.cc

ただし、この方法ですべてのC++機能を使用することはできません...

于 2009-10-31T01:19:17.303 に答える
12

コンパイルするときは、g++ -cコンパイルのみに使用します。次に、リンクには、ldの代わりにを使用しg++ます。ただし、これによりリンカーが直接呼び出されるため、コマンドラインですべてのライブラリ(libcおよびlibcrtを含む)に名前を付ける必要があります。

gccまたは、g ++を「より良いc」として使用している場合は、最後のリンクステップ(libcが自動的に含まれる)に使用できる場合があります。

于 2009-10-31T01:13:36.550 に答える
2

完全性と正確性のために:

g++ -c -fno-exceptions a.cpp
gcc a.o -o a
于 2015-12-16T20:39:32.237 に答える