2017-09-25 2 views
2

私は明示的にlibgccとリンクしていないいくつかのプロジェクトで、いくつか欠けているものがあります。コンパイル中に特定のビルトイン関数をブラックリストに登録することはできますか?

たとえば、-Osの最適化を指定すると、__gnu_thumb1_case_uqiなどの関数の参照が不定になることがあります。

コンパイル時にgccがこれらの機能を実行しないようにするにはどうすればよいですか?

+0

私はlibgccへの呼び出しの排出を完全に避けることは不可能だと信じています。 –

答えて

0

あなたは試すことができます:

-fno-builtin 
-fno-builtin-function 

が接頭辞として「__builtin_」で始まらない組み込み関数を認識しないでください。 -ansiまたは-std厳密なISO C準拠のオプションがISO標準の意味を持たないために使用される場合、組み込み関数ではない関数を含む、影響を受ける関数の詳細については、GCCが提供するその他の組み込み関数を参照してください。

GCC Online Docs

はしかし、GCCの組み込み関数の呼び出しに展開するマクロを持つあなた #includeヘッダファイルは、あなただけを停止することができればもののヘッダを含めないこともできます。標準ライブラリとリンクしていない場合、おそらく標準ヘッダファイルからインクルードしたくないかもしれません。

関連する問題