.386
.model flat,stdcall
CppFunc PROTO
.DATA
text db 'Hello'
.CODE
AsmFunc proc
mov eax,10
invoke CppFunc
RETN
AsmFunc ENDP
END
在此ASM文件右鍵-屬性-常規:項類型:改爲自定義生成工具.然後再常規-命令行中設置編譯選項:ml /c MyAsm.asm,輸出:MyAsm.obj
C++文件中添加聲明外部函數
extern "C" int __stdcall AsmFunc();
添加彙編調用方法
extern "C" void __stdcall CPlusFunc();
void __stdcall CPlusFunc()
{
MessageBox(NULL, _T("Hello,World"), _T("彙編調用C++函數"), MB_OK);
}
調用方法
int main()
{
// C++和彙編互相調用
int x = AsmFunc();
return 0;
}