减小直接用GCC创建的DLL的大小

时间:2012-05-25 15:51:17

标签: gcc dll size reduce

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

1 个答案:

答案 0 :(得分:1)

-s添加到链接状态(gcc -s -shared -o MyLib.dll MyLib.o