[問題] VC使用Assembler

看板Programming作者 (緋村毛)時間15年前 (2008/12/08 15:33), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
我寫了一個dll,其中有一段加入了組語,大概像下面這樣。 void ABC(int A, int B, int C) { __asm { 我的組言內容 } } 結果怎麼跑都不正常,反編看才發現。 push ebp mov ebp, esp sub esp, 0C0h push ebx push esi push edi lea edi, [ebp+var_C0] mov ecx, 30h mov eax, 0CCCCCCCCh rep stosd 我的組語內容 pop edi pop esi pop ebx add esp, 0C0h cmp ebp, esp call sub_1001158C mov esp, ebp pop ebp retn 0Ch 多了這些紅字的東西,難怪怎麼跑都不對。請問這是正常的嗎? 有辦法編譯完後只有"我的組語內容",不要那些奇怪紅字的內容嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.224.186.205 ※ 編輯: Lighdark 來自: 125.224.186.205 (12/08 15:35)

12/08 17:42, , 1F
在 ABC 前多加 __declspec(naked)
12/08 17:42, 1F

12/08 20:27, , 2F
原來如此…感謝
12/08 20:27, 2F
文章代碼(AID): #19FCt2nV (Programming)