LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1058|回复: 9

编译软件为什么这么占空间

[复制链接]
发表于 2007-8-2 17:36:11 | 显示全部楼层 |阅读模式
下载一个5M的原代码压缩包,编译了2个小时结果发现硬盘少了300多M

这个软件要300M这么巨吗?还是因为生成了临时文件?
发表于 2007-8-2 18:58:42 | 显示全部楼层
这不奇怪,下一个 bz2 的内核约 43M,解压後再编译随时占有 400~600M,视选项而定

编译安装後的源码树是可以删除的,空间仍在
回复 支持 反对

使用道具 举报

发表于 2007-8-2 23:23:43 | 显示全部楼层
用make clean 可以清除编译过程中的临时文件
回复 支持 反对

使用道具 举报

发表于 2007-8-3 07:15:50 | 显示全部楼层
make mrproper
回复 支持 反对

使用道具 举报

发表于 2007-8-3 14:04:13 | 显示全部楼层
一个 3 MB 的源代码,

编译时占用 300 MB 的空间,

这是比较正常的现象。

Microsoft Windows 上也是如此,
一个 14 KB 的源代码,
编译时占用 140 MB 空间,
才能得到 16 KB 的一个 EXE 或 DLL。
回复 支持 反对

使用道具 举报

发表于 2007-8-3 14:05:41 | 显示全部楼层
当然没有硬盘的 ROM (或 RAM) disk 计算机占用的是内存。
回复 支持 反对

使用道具 举报

发表于 2007-8-3 14:21:00 | 显示全部楼层
嗯 前一阵子编译gcc4.2 用了大约2G的硬盘 中间还报错 硬盘空间不足
回复 支持 反对

使用道具 举报

发表于 2007-8-4 00:48:21 | 显示全部楼层
Post by joyfun
嗯 前一阵子编译gcc4.2 用了大约2G的硬盘 中间还报错 硬盘空间不足
这个不正常了,我刚用源码升级 gcc-4.2.1 不久,印像中 make bootstrap 也就是 600~800MB 的样子,绝对不到 1G
回复 支持 反对

使用道具 举报

发表于 2007-8-4 05:56:54 | 显示全部楼层
这算什么,很多升级用的固件虽然只有几百K,但是源码可能有几个G
回复 支持 反对

使用道具 举报

发表于 2007-8-4 06:59:04 | 显示全部楼层
There is no direct relationship. Usually, when you upgrade a software, you just upgrade it by installing the binaries.  However, if you upgrade a software by compiling source codes, then your compiler will compile the codes, generate lots of object files before the binaries can be generated.  This process takes lot of time and space.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表