3

Hi1 GCC で DLL を作成しました。次の単純な関数のみが含まれています。

extern "C" {
    char* Message() {
        return (char*)"Cool";
    }
}

結果のファイルのサイズは 42 Kb で、GUI ウィンドウを作成して表示する単純な実行可能ファイルの重量が 8 Kb しかないのに、なぜそんなに大きいのかわかりません。共有ライブラリのサイズを縮小する方法はありますか? なぜそんなに大きいのですか?ありがとう!

アップデート

Code::Blocks で同じファイルを作成すると、24 KB しかありません。そのサイズを達成するために、CBはどのように作成するのだろうか?

アップデート

ライブラリに不要なコードが含まれていないことを知りたいので、これは重要です。DLL を作成するための私の GCC コマンドは次のとおりです。

gcc -c Source/MyLib.cpp -s -Os -nostartfiles -nostdlib -nodefaultlibs -o MyLib.o
ar  rcs libMylib.a MyLib.o
gcc -shared -o MyLib.dll MyLib.o
4

1 に答える 1

2

-sリンク状態に追加( gcc -s -shared -o MyLib.dll MyLib.o)

于 2012-05-25T16:53:10.723 に答える