如何利用VC编写有汇编代码的跨平台代码

42 篇文章 6 订阅
17 篇文章 0 订阅

在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中编译连接我们的源文件的时候,我们添加的外联汇编源程序也会被编译连接.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值