c - 尽可能少地制作二进制文件

标签 c compiler-construction binary

我有一个用 C 编写的程序,它也链接到我用 C 编写的静态库 (.a)。我怎样才能尽可能少地制作这个程序,而不触及代码(我可以重新编译它等)?

最佳答案

第一步是将其从调试符号等所有内容中剥离。

在 Linux 上,您可以在终端中使用:

strip myexe

你会看到尺寸大大减小^^

我不是 Windows 专家,但如果您使用 VS,请使用发布变体。

在每个平台上,不要使用生成调试符号的编译器标志。如果您可以使用优化大小的标志。

当然,如果您使用系统库或公共(public)安装库,请使用动态链接库 (dll) 或共享对象 (so)。这些库不会包含在您的可执行文件中。

我的2c

关于c - 尽可能少地制作二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4734086/

相关文章:

mysql - 比较 MySQL 中的二进制值

compiler-construction - 使用 libclang 从字符串构造 AST

c - 鉴别 "bit stuffing"之后的位

C:Base 64 到二进制转换

c - 在 C 中将字符串转换为 long long 时出现问题

c++ - 矢量化是什么意思?

c++ - C 编译器出错,但 C++ 编译器不出错

c++ - 生成所有二进制组合 C++

c - 汇编与 C 代码比较

c - 数组的 Scanf_s 错误