我正在编译一个自定义内核,并且我想测试图像文件的大小。
结果如下:
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都不会使用字节,文件可能包含调试信息,而该信息不属于文件的一部分)。运行时映像等)如果您想知道可执行文件需要多少RAM / ROM(不包括动态内存分配),
size
会为您提供所需的信息。关于linux - Size()vs ls -la vs du -h哪个是正确的大小?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56015876/