我编写了一个非常简单的代码,并用gcc编译了它。编译后我看到exe是48kB。为什么这么大?有可能缩小它的尺寸吗?我应该使用某种编译参数吗?
gcc.\001_simpleMain.c

int func()
{
    return 0x1234;
}

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

最佳答案

你可以和gcc一起使用
-操作系统
针对大小进行优化。-Os启用通常不会增加代码大小的所有-O2优化。它还执行进一步的优化,以减少代码大小。
-操作系统禁用以下优化标志:

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

09-12 17:08