如何计算或查看编译时生成的指令数?
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
基本上,如果我编写一个函数,我希望在编译时看到它有 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