本文小编为大家详细介绍“vs2022 x64 C/C++和汇编混编实例代码分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“vs2022 x64 C/c++和汇编混编实例代码分析”文章能帮助大家解决
本文小编为大家详细介绍“vs2022 x64 C/C++和汇编混编实例代码分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“vs2022 x64 C/c++和汇编混编实例代码分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
vs64位程序不支持__asm内嵌汇编,需要单独编写汇编源文件
示例如下
#include <windows.h>extern "C" void __stdcall asm_func(const char* lpText);extern "C" UINT GetMsgBoxType(){return MB_YESNOCANCEL;}int main(){asm_func("Hello world!");return 0;}
新建asm64.asm汇编源文件,示例代码如下
.datamsGCaption db 'Message box text',0.code align 16extern GetMsgBoxType : procextern MessageBoxA : procextern __imp_MessageBoxA : qWordasm_func proc; RCX = address for the string for the message boxsubrsp, 28h; shadow stack only [n]8 sizeleardx, [msgCaption]movr8, rcxcallGetMsgBoxTypemovr9, raxxor rcx, rcx;call[__imp_MessageBoxA]call MessageBoxAaddrsp, 28h; restoring shadow stackretasm_func endpend
编译器配置,选择x64,debug或者release都可以,
1 右键项目 --> 生成依赖项 --> 生成自定义 --> 勾选masm
2 右键汇编源文件 --> 属性 --> 常规 --> 项类型 --> Microsoft Macro Assembier
直接生成即可
读到这里,这篇“vs2022 x64 C/C++和汇编混编实例代码分析”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网其他教程频道。
--结束END--
本文标题: vs2022 x64 C/C++和汇编混编实例代码分析
本文链接: https://lsjlt.com/news/349996.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0