我想知道是否有办法知道用 C 语言编码的二进制可执行文件的内存占用情况。
informations about binary executable : compiled with toolchain of OpenWrt branch (Attitude Adjustment) and its architecture is x86
最佳答案
在 Linux/Unix 系统上,您可以使用 size
为此的命令,例如在我的 Ubuntu 系统上
size /bin/sh
text data bss dec hex filename
102134 1776 11272 115182 1c1ee /bin/sh
因为这是 OpenWrt,如果你有不同的架构,例如MIPS 或 ARM 或其他东西,当然,您必须选择适当工具链的 size
命令。
各节含义如下
text
表示可执行文件的代码大小data
是初始化数据段,例如变量,例如int v = 17;
或char name[] = "Tom";
bss
是未初始化或简单的0
初始化部分,int a;
或double amount;
<dec
是整体大小,在本例中为102134 + 1776 + 11272 = 115182
hex
最后也是整体大小,作为十六进制值1c1ee = 115182
关于c - 如何知道我的二进制可执行文件的内存占用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22478014/