c - 为什么gcc编译出来的exe文件这么大?

标签 c gcc compilation

我写了一段很简单的代码,用gcc编译了。编译后我看到exe是48kB。为什么这么大?是否可以减小它的尺寸?我应该使用某种编译参数吗?

gcc .\001_simpleMain.c

int func()
{
    return 0x1234;
}

int main()
{
    func();
    return 0;
}

最佳答案

你可以将它与 gcc 一起使用

-操作系统

优化大小。 -Os 启用通常不会增加代码大小的所有 -O2 优化。它还执行旨在减少代码大小的进一步优化。

-Os 禁用以下优化标志:

-falign-functions -falign-jumps -falign-loops -falign-labels -freorder-blocks -freorder-blocks-algorithm=stc -freorder-blocks-and-partition -fprefetch-loop-arrays

关于c - 为什么gcc编译出来的exe文件这么大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44363845/

相关文章:

c - 将 sendfile() 与 SSL 结合使用时出现问题

c - 连接开关的输出

gcc - yacc 中的 %left 和 %right

c++ - System() 的替代方案,用于在程序中运行批处理文件

python - 编译python模块扩展时如何静态链接库

c++ - 如何使具有许多全局可重入的旧 C 代码库

c++ - 函数没有实现宏?

asp.net - 加载共享类库时出错

在 C 中编译多个源

c++ - 将 struct tm(以 UTC 表示)转换为 time_t 类型的简单方法