写在前面:博主是一只经过实战开发历练后投身培训事业的“小山猪”,昵称取自动画片《狮子王》中的“彭彭”,总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域,如今终有小成,愿将昔日所获与大家交流一二,希望对学习路上的你有所助益。同时,博主也想通过此次尝试打造一个完善的技术图书馆,任何与文章技术点有关的异常、错误、注意事项均会在末尾列出,欢迎大家通过各种方式提供素材。
- 对于文章中出现的任何错误请大家批评指出,一定及时修改。
- 有任何想要讨论和学习的问题可联系我:zhuyc@vip.163.com。
- 发布文章的风格因专栏而异,均自成体系,不足之处请大家指正。
汇编语言项目创建指南 - Visual Studio
本文关键字:汇编语言、项目创建、VS、扩展库、高亮插件
一、常见问题
1. 汇编语言环境
如果使用Visual Studio进行汇编语言的学习,不需要单独下载汇编语言环境,只需要在安装VS时确保选择了C++环境即可。对于VS组件的增删和查看可以通过工具 - 获取工具和功能打开相关界面: 
2. VS的版本选择
如果只是在VS中进行简单的编码,那么你可以选择任意版本的VS,并且免费的Community版本已经足够使用。如果你希望使用汇编语言的高亮插件,建议使用2019及之前的版本,目前最新的2022还不能使用高亮插件,需要等待作者更新,虽然小编找到了可用的版本,但是依然存在问题,所以需要使用高亮插件的小伙伴需要注意一下。
二、项目创建
1. 新建空项目
 
2. 生成依赖项配置
- 右键解决方案名称 - 选择生成依赖项 - 点击生成自定义:


3. 新建编码文件


三、库的引入
很多小伙伴在学习时都会使用到Kip R. Irvine编写的Assembly Language for X86 Processors这本教材,其中附带了一个名为Irvine的库,在学习后面的章节时一般需要引入。如果不知道在哪里下载的小伙伴可以去该链接下载:汇编语言调用库 - 配套Assembly Language for X86 Processors,文件列表如下: 
1. Microsoft Macro Assembler配置
- 右键解决方案名称 - 选择属性 - 点击最下面的Microsoft Macro Assembler:
 特别说明 :有些小伙伴可能找不到这个设置,原因很简单,一定要在项目中新建一个asm文件,这样配置面板就会出现了,新建方法见上文。
将下载的压缩包解压后,复制路径后填入(以解压到C盘根目录为例 - C:\Irvine): 
2. 链接器配置
- 右键解决方案名称 - 选择属性 - 点击链接器,填写附加库目录:

- 在链接器的输入子菜单中添加附加依赖项(Irvine32.lib):

3. 代码中库的引入
配置完成后,在代码文件中,使用以下方式引入即可:
INCLUDE Irvine32.inc
四、高亮插件
1. VS内安装
在VS中选择扩展 - 管理扩展 - 搜索AsmDude:  点击安装即可,如果搜索不到,则说明当前版本的VS与插件不兼容,原因请参照文章开头。
2. 插件说明
该插件除了语法高亮外还提供一些校验和提示功能,但唯一不太完美的地方是不能识别引入的库以及从库中调用的方法,使用的时候忽略即可,直接通过运行来验证。
3. Github地址
Github地址:https://github.com/HJLebbink/asm-dude。
|