vs开发64位程序无法使用内联汇编需要汇编放到一个单独文件编译链接

步骤如下

  1. 生成汇编代码。以asm.asm为例,以下是模板

;64位汇编程模板 (Template)
;声明一个ExitProcess函数
ExitProcess PROTO

.data
	;这里声明变量

.code 
myAsmTest PROC
	;这里自己代码
	
	mov rcx,0
	call ExitProcess
myAsmTest ENDP
END
  1. asm.asm文件上点击右键,在弹出菜单中点击“属性”,然后点击“常规”,“生成中排除”点击“”, “类型选择自定义生成工具”,最后点击”确定“或者”应用“:

在这里插入图片描述

接着,点击”自定义生成工具“,在”命令“中输入如下命令

ml64 /Fo $(IntDir)%(fileName).obj /c %(fileName).asm

在”输出“中输入如下命令

$(IntDir)%(fileName).obj

最后点击确定。

在这里插入图片描述

  1. 汇编函数导出。如下所示
extern "C" int myAsmTest(int);
  1. 如果工程的主程序main函数也在汇编中,那么还需要修改工程的入口点,请自行百度VS修改程序入口点的设置

接下来,汇编文件可以单独编译了:

在这里插入图片描述

参考链接

  1. https://blog.csdn.net/freeking101/article/details/104623548
  2. https://blog.csdn.net/zyhse/article/details/134063519

原文地址:https://blog.csdn.net/m0_37567738/article/details/134699707

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_32702.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注