在C/C++中添加内联汇编很容易,只需要用__asm(VC中)或者__asm__(gcc/g++中)关键字就可以在C/C++中添加内联汇编了。但是VC中的内联汇编与gcc/g++中的内联汇编在格式不大相径庭,VC中使用的是Intel的语法格式,而gcc/g++使用的是AT&T语法格式。所以我们在编写跨平台的C/C++代码的时候,若有需要用到汇编代码的时候,就显得有点为难了!虽然我们可以编写两个版本的内联汇编,但是那样会多写一倍的汇编代码,而且调试了一个版本还得调试另一个版本,显得相当的麻烦。为了能让我们的代码能在不同平台使用,我们最好选用一个能支持跨平台的汇编器,笔者极力推荐使用NASM汇编器。下面就介绍一下如何在自己的项目中添加跨平台的外联汇编。
1.下载一个nasm并安装到你希望的目录中,如果你下载的是nasm的源文件,请编译成可执行文件.
2.设置nasm可执行文件路径添加到PATH环境变量中.
3.将写好的nasm汇编程序添加到项目中.
4.设置该汇编程序文件的自定义生成步骤:在命令行一栏中添加如nasm -fwin32 $(InputFileName) -g -o $(OutDir)/$(InputName).obj所示命令;在输出一栏中添加$(OutDir)/$(InputName).obj
如果你没有作第二个步骤,那就需要在第四步的命令行一栏的添加上nasm命令的绝对路径.
OK,至此,当我们在VC中编译连接我们的源文件的时候,我们添加的外联汇编源程序也会被编译连接.