我正在编译一个定制的内核,我想testing图像文件的大小。 这是结果:
ls -la | grep vmlinux -rwxr-xr-x 1 root root 8167158 May 21 12:14 vmlinux du -h vmlinux 3.8M vmlinux size vmlinux text data bss dec hex filename 2221248 676148 544768 3442164 3485f4 vmlinux
由于它们都显示不同的尺寸,哪一个最接近实际的图像尺寸? 他们为什么不同?
他们都是正确的,他们只是表现出不同的大小。
ls
显示文件的大小(当你打开并阅读它时,你将得到多少字节) du
显示实际的磁盘使用情况,由于漏洞可能小于文件大小 size
显示与文件大小没有直接关系的对象/可执行文件的运行时映像的大小(bss不管文件大小如何都不使用字节,文件可能包含不属于运行时的调试信息图像等) 如果你想知道一个可执行文件将会占用多少内存/ ROM,动态内存分配将被排除在外, size
会给你所需要的信息。