一条C语言指令运行的时间是多少
发布网友
发布时间:2022-05-14 06:41
我来回答
共5个回答
热心网友
时间:2023-10-09 02:36
视编译后的内容定。
最终计算机运行的都是汇编语言的指令。因此,c语言只是个过渡的高级编译工具。
如果需要看某个c语言命令的运行时间,建议编译后,查看其中的每条汇编指令,再查相关的汇编指令的运行周期,根据cpu的时钟,累计计算出具体多少时间。
粗略的办法:
将某条c语言命令重复运行1万遍(以上),记录开始的时间和结束的时间,并除运行次数。
热心网友
时间:2023-10-09 02:36
编译后,反汇编出来看就晓得了。用for更简洁,这是第一个函数的反汇编:
22: for(i=0;i<count;i++)
C:0x0D7E E4 CLR A
C:0x0D7F FE MOV R6,A
C:0x0D80 EE MOV A,R6
C:0x0D81 C3 CLR C
C:0x0D82 9F SUBB A,R7
C:0x0D83 500A JNC C:0D8F
23: for(j=0;j<120;j++)
24: ;
C:0x0D85 E4 CLR A
C:0x0D86 FD MOV R5,A
C:0x0D87 0D INC R5
C:0x0D88 ED MOV A,R5
C:0x0D89 B478FB CJNE A,#0x78,C:0D87
C:0x0D8C 0E INC R6
C:0x0D8D 80F1 SJMP C:0D80
25: }
热心网友
时间:2023-10-09 02:37
编译后,反汇编出来看就晓得了。用for更简洁,这是第一个函数的反汇编:
22:
for(i=0;i
评论
0
0
0
加载更多
热心网友
时间:2023-10-09 02:37
一条C语言指令运行的时间是多少
取决于你用哪条指令, 会被编译成多少机器指令, 还有. 你的编译优化级别也有关系
热心网友
时间:2023-10-09 02:38
可能是while比for慢吧。