第一种方式肯定是嵌入汇编了,利用VS内置的__asm关键字,加入对汇编的支持,这种方式很简单,只需要简历一个普通工程,在工程中需要加入汇编的位置进行汇编处理。
第二种方式是利用VS编译纯汇编的程序,这种方式需要设置,具体步骤如下:
先利用VS生成一个空项目,然后选择项目---->生成自定义,会看到如下图所示:
选择masm即可。
然后往这个空的工程当中添加汇编文件,然后再在项目-------->属性对属性进行配置,选择Microsoft Macro Assembler,在里面的Include Path选项里面添加你的win32汇编的头文件路径即可。这样你可以利用VS的资源编辑器直接对资源进行编辑。
第三种方式,将汇编语言与其他的语言比如C语言缓和到一个项目当中进行编译。
首先创建一个win32项目,然后在项目的main函数里面添加汇编函数里面定义的函数。
首先创建一个.asm后缀的汇编文件,写入如下所示的示例代码:
.386然后在项目的源文件选项当中右键这个汇编文件,选择属性--------->配置属性------------>常规。
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
include kernel32.inc
.data
szCaption db '恭喜',0
szText db '当您看到这个信息的时候,您已经可以编译Win32汇编程序了!',0
.code
argc proc
invoke MessageBox,NULL,offset szText,offset szCaption,MB_OK
ret
argc endp
end
在常规选项下面的项类型选择自定义生成工具,选择应用之后,就会出现如下图所示的对话框。
选择自定义生成工具
如上图一样进行设置。当然还别忘了在属性里面设置上汇编头文件的搜索路径。在主工程里面写下下面的代码进行测试。
#include <Windows.h>编译运行,就会出现一个从对话框
extern "C"
{
extern void _stdcall argc();
};
int WinMain(HINSTANCE hin,HINSTANCE hpre, LPSTR lpCmdLine,
__in int nShowCmd)
{
argc();
ExitProcess(0);
}