VS2019解决X64无法内联汇编的问题

策略: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上直接下载:https://github.com/HJLebbink/asm-dude/releases

asm文件编写汇编格式#

一般汇编函数编写的格式如下

然后在c++源文件中声明此函数,注意函数声明前一定要加extern “C”,防止c++编译器为了完成函数重载对函数名称进行修饰。

extern "C" void ProcName();

VS2019配置驱动开发环境
https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk

posted @   怎么可以吃突突  阅读(3862)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示
主题色彩