作者Lighdark (绯村毛)
站内Programming
标题[问题] VC使用Assembler
时间Mon Dec 8 15:33:19 2008
我写了一个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)
1F:推 zha0:在 ABC 前多加 __declspec(naked) 210.68.29.69 12/08 17:42
2F:→ Lighdark:原来如此…感谢 114.46.35.207 12/08 20:27