更深入的功能分析/仿真
发布时间:2020-12-16 06:55:25 所属栏目:百科 来源:网络整理
导读:大家好 圣诞节快乐 我需要一个建议,我有以下代码: int main(){ int k=5000000; int p; int sum=0; for (p=0;pk;p++) { sum+=p; } return 0;} 当我组装它时,我得到了 main: pushl %ebp movl %esp,%ebp subl $16,%esp movl $5000000,-4(%ebp) movl $0,-12(%eb
大家好
圣诞节快乐 我需要一个建议,我有以下代码: int main() { int k=5000000; int p; int sum=0; for (p=0;p<k;p++) { sum+=p; } return 0; } 当我组装它时,我得到了 main: pushl %ebp movl %esp,%ebp subl $16,%esp movl $5000000,-4(%ebp) movl $0,-12(%ebp) movl $0,-8(%ebp) jmp .L2 .L3: movl -8(%ebp),%eax addl %eax,-12(%ebp) addl $1,-8(%ebp) .L2: movl -8(%ebp),%eax cmpl -4(%ebp),%eax jl .L3 movl $0,%eax leave ret 如果我通过gprof运行它,我得到的主要执行最多,这是非常明显的! 解决方法
好吧,如果你不介意低技术,你可以通过单步或
this way回答任何这样的问题. 对于后一种方法,程序的大小或复杂程度无关紧要.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |