組み込みシステムまたはリソースでは、実行可能ファイルのサイズを最適化することが重要になる場合があります-制約された環境。これを実現するには、実行可能ファイルから未使用のシンボルを削除することが重要です。
GCC および ld には、コンパイルおよびリンク中に未使用のシンボルを破棄するオプションが用意されています。
削除するには未使用のシンボルについては、次に従ってください手順:
ファイルがあるとします。 test.cpp には 2 つの関数が含まれており、そのうちの 1 つは未使用です:
int use(int a); int unused(int a);
未使用の関数を削除するには、次のようにコンパイルしてリンクします:
gcc -Os -fdata-sections -ffunction-sections test.cpp -o test -Wl,--gc-sections
このコマンドは GCC に分離するように指示します。コードとデータをセクションに分割し、ld で参照されていないセクションを破棄することで、実行可能ファイルのサイズが小さくなります。
以上がGCC と ld を使用して C/C 実行可能ファイルから未使用のシンボルを削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。