gpt4 book ai didi

c - 我的 exe 文件中的所有垃圾信息是怎么回事?

转载 作者:太空宇宙 更新时间:2023-11-04 06:53:36 25 4
gpt4 key购买 nike

我使用 dev c++ v5.11(c 语言)编写了一个非常简单的程序,我想看看 HxD 中的编译代码,看看它与原始代码的对比情况。问题是,大约 95% 的编译信息看起来像垃圾信息,而且它似乎采用了 9 行代码并将其扩展到一个 127 kb 的文件中,其中包含许多空空格、错误处理字符串,并且一个部分包含许多类型声明,以字符串格式。我的问题是,为什么会这样,我可以使用什么其他程序来将代码编译成所需的长度?

原代码:

#include <stdio.h>
int main() {
int count = 0;
start:
count = count + 1;
printf("count is %d\n", &count);
goto start;
return 0;
}

编译后的代码太大,无法放入正文

最佳答案

任何完整的答案都将特定于您的编译器、您构建程序的方式以及主机系统。我将重点关注一般性问题。

使用调试信息而不进行优化(通常是编译器的默认设置)进行编译会导致可执行文件中出现大量额外信息。而且,还有链接选项,例如相关的静态链接与动态链接,它们控制将多少信息从库复制到可执行文件中(权衡可执行文件大小,依赖于在运行时可访问的库等) ).

您的系统上可能还有实用程序(例如 unix 下的 strip),用于从可执行文件中删除一些不需要的信息。

关于c - 我的 exe 文件中的所有垃圾信息是怎么回事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47850199/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com