
VS2019解决X64无法内联汇编的问题
发布日期:2021-05-19 04:41:49
浏览次数:21
分类:原创文章
本文共 536 字,大约阅读时间需要 1 分钟。
策略:VC编译器x64平台不支持内联汇编,我们利用在Source文件中直接添加asm文件,直接在asm文件中写汇编代码,然后将asm文件编译为OBJ文件。然后就可以在c++文件中声明asm文件中的函数后直接使用asm文件中用汇编写的函数。
设置步骤
先在源文件中添加一个asm文件
然后右击文件设置属性。设置“从生成中排出为:否”,如果为是这个asm文件就不会被编译为obj文件。接着需要设置项类型为:“自定义生成工具”。
然后在自定义生成工具的常规设置更改为如下设置。注意因为我们在asm文件中写的是64位汇编所以编译命令行为ml64,如果写的是32位汇编则是ml32(当然32位我们可以直接使用内联汇编,没有必要在添加一个asm单独编译为obj文件)
这样我们就可以在asm文件中写x64汇编了,可以在VS扩展商店中下载AsmDude插件这样汇编代码就可以高亮显示。
也可以在github上直接下载:
asm文件编写汇编格式
一般汇编函数编写的格式如下
然后在c++源文件中声明此函数,注意函数声明前一定要加extern “C”,防止c++编译器为了完成函数重载对函数名称进行修饰。
extern "C" void ProcName();
VS2019配置驱动开发环境
发表评论
最新留言
不错!
[***.144.177.141]2025年05月04日 16时26分33秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MateBook16重装攻略
2025-04-12
material-ui ant.design
2025-04-12
MaterialForm对tab页进行隐藏
2025-04-12
materialTabControl1_SelectedIndexChanged的使用
2025-04-12
Math.Atan2的基本讲解(C#版本)
2025-04-12
Math.round(),Math.ceil(),Math.floor()的区别
2025-04-12
mathlab中deepDreamImage的参数PyramidLevels的作用
2025-04-12
MathType给公式底部加箭头的教程
2025-04-12
Math类和StrictMath类源码详解
2025-04-12
matlab ga遗传算法,matlab遗传算法ga函数
2025-04-12
MATLAB GUI如何生成.exe文件
2025-04-12
Matlab save load
2025-04-12
Matlab 图像处理相关函数命令大全
2025-04-12
MATLAB 在大规模数据分析和处理中的性能优化策略有哪些?
2025-04-12
matlab 数字水印技术,数字水印技术DCT算法MATLAB源代码.doc
2025-04-12
matlab 线型_Matlab自动导出论文插图 「实用技巧」
2025-04-12
MATLAB-Scatter3-三维散点图投影至XYZ三个平面
2025-04-12
Matlab2015入门学习02
2025-04-12
matlab中APP介绍-ChatGPT4o作答
2025-04-12