为什么链接时使用静态标志减少了程序执行的指令数量?

问题描述 投票:0回答:1

我有C程序:

include stdio.h
int main() { 
`printf("Hello World!\n");`
}

而且我编译了两次:

  1. gcc main.c -o main1
  2. gcc main.c -static -o main2

如果要计算在程序中执行的指令数:

对于main1,我得到161392条指令。

对于main2,我得到的是19820条指令。

您能告诉我为什么会发生这种情况吗?

c static instructions compiler-flags
1个回答
0
投票

因为您的程序非常简单,所以静态链接的库占用较少的空间。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.