精華區beta Programming 關於我們 聯絡資訊
※ 引述《leicheong (理昌)》之銘言: > ※ 引述《noguest.bbs@ptt.cc (guest)》之銘言: > > 以下面這個簡單地程式為例: > > const int a=10; (或是 #define a 10) > > int b=0; > > ... > > b+=a; > 以下是這段程式館碼在VC7中compile的結果: > 沒有完成在全域最佳化(/Og)下的測試, 因為找不到進入點... > 或許遲一點再做吧... 補上全域最佳化下的結果: 不論在#define或const宣告, 都只剩下這一句: 00401000 /$ 6A 0A PUSH 0A P.S.: 在上面的測試後, 我加上了"printf("%d", b);"來做定位. 當時兩種情況下都會在把結果mov回memory後, 再mov到ecx, 然後push 進stack. 因為不影響比較也就沒有copy出來了. 前文略去的部份(const): 0040101D |. 8B4D F8 MOV ECX,DWORD PTR SS:[EBP-8] 00401020 |. 51 PUSH ECX -- ※ Origin: SayYA 資訊站 <bbs.sayya.org> ◆ From: ip-84-126-134-202.rev.dyxnet.com