Viusal C++.NET 2003 的优化代码(3)

分类: VC.NET   出处:iocblog整理  更新时间:2008-11-07   添加到收藏  

当不使用"/GL"选项时,生成了如下代码:

sub esp, 8

lea eax, DWORD PTR _j$[esp+8]

push eax

lea ecx, DWORD PTR _i$[esp+12]

push ecx

mov DWORD PTR _i$[esp+16], 0

mov DWORD PTR _j$[esp+16], 1

mov DWORD PTR ?g@@3HA, 5

mov DWORD PTR ?h@@3HA, 6

call ?func@@YAXPAH0@Z

mov eax, DWORD PTR _i$[esp+16]

mov edx, DWORD PTR ?g@@3HA

mov ecx, DWORD PTR ?h@@3HA
(文章来源 www.iocblog.net)
add edx, eax

add ecx, eax

mov DWORD PTR ?g@@3HA, edx

mov DWORD PTR ?h@@3HA, ecx

xor eax, eax

add esp, 16

ret 0

当使用了"/GL"时,你会看到下面的代码,现在的代码短多了。注意编译这个例子时同样要注意关掉内联优化。

sub esp, 8

lea ecx, DWORD PTR _j$[esp+8]

lea edx, DWORD PTR _i$[esp+8]

mov DWORD PTR _i$[esp+8], 0

mov DWORD PTR ?g@@3HA, 5

mov DWORD PTR ?h@@3HA, 6

call ?func@@YAXPAH0@Z

mov DWORD PTR ?g@@3HA, 5

xor eax, eax

add esp, 8

ret 0(文章来源 www.iocblog.net)

上一页 [1] [2] [3]


Tag: 优化代码



文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。