在vs 下编写64位汇编,新建工程,右键工程名,选择"Build Dependencies" -> "Build Customizations":
勾选 masm:
添加main.asm,敲了一段最简单的代码:
.code
main proc
ret
main endp
end
直接F5运行(已添加工程右键),恼人的错误:
LNK2001: unresolved external symbol mainCRTStartup
无法解析的外部符号 mainCRTStartup,这是默认的入口函数,它会调用我们写的main函数,但那是C/C++中的main函数,比如void main() { return 0; },编译器找不到此类main函数就会报出上述错误,所以我们需要将入口函数指定为我们自己的main函数(此mian非彼main,你可以改成其他符合标识符规范的任意名字)。
右键工程名,选择最后一项工程属性
Linker -> Advanced -> Entry Point : main 名称需要与代码中保持一致。
如无意外,此时可以正常运行了,当然这段代码什么都没做,你也就看不到任何结果。