VS在 x64 編譯環境下使用匯編函式

lostin9772發表於2024-09-02

step 1

新建一個 x64 專案後,首先要右鍵專案 -> 生成依賴項 -> 生成自定義 -> 勾選 masm(.targets,.props),然後在原始檔下新建一個 Asm.asm 彙編檔案,右鍵屬性設定為:
VS在 x64 編譯環境下使用匯編函式

step 2

編寫彙編檔案,其中 .codeend 是必須的,不填寫會報錯,我們編寫一個簡單的加法函式 Asm_add:

.code

Asm_add proc
sub rsp,100h

mov rax,rcx
add rax,rdx

add rsp,100h
ret
Asm_add endp


end

step 3

最後我們在需要引用的原始檔中宣告該彙編函式就可以呼叫了:

#include <stdio.h>
#include <Windows.h>


extern "C" int __stdcall Asm_add(int a, int b);

int main()
{
	printf("Asm_add 的結果:%d\r\n", Asm_add(1, 2));

	system("pause");
	return 0;
}

結果如下:
VS在 x64 編譯環境下使用匯編函式

相關文章