如何计算或查看编译时生成的指令数?

How do I calculate or view the number of instructions generated when compiled?

基本上,如果我编写一个函数,我希望在编译时看到它有 15 条指令。然后我编辑函数,看到现在有 20 个。

我该如何衡量?有工具吗?我需要学习一些汇编吗?

将编译后的代码作为汇编查看的工具称为反汇编程序,但汇编输出内置于大多数编译器套件中。对于 gcc,使用 gcc -S file.c 命令查看程序集输出。

许多 IDE(例如 Eclipse、NetBeans、Visual Studio)提供方便的 windows 查看此类输出。

您还可以使用 http://gcc.godbolt.org/

等在线程序集查看器

请注意,指令数量越少并不一定意味着代码执行得越快。有些指令比其他指令需要更长的执行时间,有些可能会导致管道刷新等。

gcc -S source.c; wc -l source.s