众所周知,在x86平台,可以直接使用__asm 内嵌汇编代码,然而在x64平台却不行了。
现在解决这个问题。
一、VS中创建控制台程序,改成x64平台启动。
二、创建test.asm文件。将原先的汇编代码放进去。
注意开头是CODE开头 结尾是END结尾。然后__asm去掉
.CODE
TestDemo PROC
MOV EAX, 2222 ;
RET
TestDemo ENDP
END
右键该文件,点击属性(重点)
将项类型设成自定义生成工具。点击确定后,继续右键该文件属性。
修改如下:
标红地方修改即可。点击生成即可编译通过。
三、使用该生成文件:
创建头文件test.h
输入如下代码:
#ifndef __ASMCODE_H
#define __ASMCODE_H
extern "C"
{
int _stdcall TestDemo();
}
#endif
然后就可以正常引用了:运行结果如下:
现在就可以正常使用64位汇编了。