gcc - 减少直接使用 GCC 创建的 DLL 的大小

标签 gcc dll size reduce

您好,我刚刚使用 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/

相关文章:

c++ - NaN 在不同的 g++ 版本中处理不同

const 指针契约(Contract)只是热空气?

c - 是否可以在 Windows 上将 go-dll 加载到 c-dll 中?

c - 打印每个宽字符字节的字符值

c++ - 堆栈帧的大小总是固定的?

c++ - g++ 抛出 Skeleton wxwidget 项目 "undefined reference to main"错误

c++ - 为什么指定的初始化程序没有在 g++ 中实现

c# - dll 请求的执行级别

c# - 为什么我收到 "' 某个类'不包含 'some method' 的定义“错误,而该类具有该方法?

powershell - 在单独的列中导出365用户邮箱的大小和单位