[英]How to program x64 assembly with c++ in VS 2019?
我正在嘗試使用 Visual Studio 2019 獲得一個非常簡單的 x64 程序集,但它一直給我“致命錯誤 LNK1120: 1 unresolved externals” 我確保在構建依賴項中檢查了 masm,這是在 x64 模式下; 所以,不知道還能做什么,因為這是我對 asm 的第一次嘗試。 任何幫助將不勝感激! 謝謝。
#include <iostream>
using namespace std;
extern "C" int someNumber();
int main() {
cout << "Number: " << someNumber() << endl;
return 0;
}
和
.code
someNumber proc
mov rax, 222
ret
someNumber endp
end
您需要為程序集源文件創建自定義構建工具(或步驟)。 右鍵單擊程序集源文件名,然后屬性,...,自定義構建工具...。
對於調試版本:
Command Line ml64 /c /Zi /Fo$(OutDir)\someNumber.obj someNumber.asm
Outputs $(OutDir)\someNumber.obj
對於發布版本,相同的行但沒有 /Zi
Command Line ml64 /c /Fo$(OutDir)\someNumber.obj someNumber.asm
Outputs $(OutDir)\someNumber.obj
在 someNumber.asm 中,您需要將該函數聲明為 public:
.code
public someNumber
someNumber proc
mov rax, 222
ret
someNumber endp
end
VS2019 匯編器 ML64 默認為“C”模型,因此不需要在名稱前加上“_”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.