gcc 编译c文件为exe 太大了,怎么变小。 |
您所在的位置:网站首页 › 微软资讯和兴趣太大了怎么变小 › gcc 编译c文件为exe 太大了,怎么变小。 |
gcc 编译c文件为exe 太大了,怎么变小。
0x1 使用参数降低0x2 使用upx压缩exe
随便一个写 c 的文件, main.c #include int main(int argc, char const *argv[]) { printf("Hello World! \n"); return 0; } gcc -o output.exe test12.c编译出来 exe 竟然有53k,太夸张了吧,我一个helloworld竟然这么大。 怎么瘦身呢? 0x1 使用参数降低GCC编译器有一些选项可以帮助减小生成的可执行文件的大小。以下是一些步骤: 使用优化级别 -O2 或 -O3。这些优化级别会尝试减小代码的大小并提高执行速度。使用 -s 选项来去除符号表信息。使用 -flto 选项来启用链接时优化。使用静态链接。动态链接的库可能会增加可执行文件的大小,因为它们需要包含额外的信息来找到和链接动态库。静态链接可以通过 -static 选项启用。使用strip命令。strip命令可以从可执行文件中删除符号表和调试信息这是一个使用这些选项的GCC命令示例: gcc -O2 -s -flto -static -o output.exe main.c strip output.exe这个命令会编译 main.c 文件,并使用 -O2,-s 和 -flto 选项,然后将结果输出到 output.exe 文件。 经过瘦身后,从 55k 减低到 15k。减低了 73%。 使用UPX(Ultimate Packer for eXecutables)来压缩你的可执行文件。UPX是一个自由,便携式,可扩展的高级可执行文件包装器。它可以压缩各种不同的可执行文件格式。 以下是一个使用UPX的示例: upx -9 output.exe这个命令会使用最大压缩比(-9)来压缩 output.exe 文件。 请注意,使用UPX压缩的文件在运行时需要解压,这可能会稍微增加程序启动的时间。 在Windows上,你需要从UPX的官方网站下载预编译的二进制文件,并将其添加到你的系统路径中。你可以在这里下载:https://upx.github.io/ D:\>upx.exe -9 output.exe Ultimate Packer for eXecutables Copyright (C) 1996 - 2023 UPX 4.2.1 Markus Oberhumer, Laszlo Molnar & John Reiser Nov 1st 2023 File size Ratio Format Name -------------------- ------ ----------- ----------- 15360 -> 8192 53.33% win64/pe output.exe Packed 1 file.再次瘦身,exe减少到 8k。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |