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
答案 0 :(得分:1)
将-s
添加到链接状态(gcc -s -shared -o MyLib.dll MyLib.o
)