您好,我刚刚使用 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
最佳答案
将-s
添加到链接状态(gcc -s -shared -o MyLib.dll MyLib.o
)
关于gcc - 减少直接使用 GCC 创建的 DLL 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10757581/