MASM32配置问题

news2025/1/4 17:47:02

1. 总述

当你用masm32 SDK出现类似下面的错误情况:

cannot open file :windows.inc

这说明你的汇编器无法找到windows.inc这个头文件, 有3种解决方法

2. 解决方法

a. 使用绝对路径

直接把需要的inc头文件或者lib库文件的绝对路径包含进去, 问题就解决了

.586
.model flat, stdcall
option casemap:none 

; 使用绝对路径
include D:/masm32/include/windows.inc 
include D:/masm32/include/kernel32.inc 
includelib D:/masm32/lib/kernel32.lib
include D:/masm32/include/user32.inc 
includelib D:/masm32/lib/user32.lib 
include D:/masm32/include/gdi32.inc 
includelib D:/masm32/lib/gdi32.lib
include D:/masm32/include/msvcrt.inc 
includelib D:/masm32/lib/msvcrt.lib

b. 添加系统环境变量

这种方法是一劳永逸的方法, 但需要修改环境变量。将include和lib的目录加到环境变量后, 汇编器就会自动寻找环境变量目录下的内容:
添加一个INCLUDE环境变量, 以及LIB环境变量分别如下:
在这里插入图片描述
要让汇编代码生成对应的exe可执行文件, 还需要汇编器ml.exe以及链接器link.exe, 这两个东西位于masm32的bin目录下:
在这里插入图片描述
为了能够直接在终端运行, 也要将该目录添加到环境变量的PATH下。
在这里插入图片描述找到PATH后, 添加进去即可
在这里插入图片描述
完成到这里后就可以重启终端, 所有问题都会被解决。

c. 添加bat脚本

实际上这种方式和添加环境变量是一样的, 只是使用了批处理bat来自动化处理。

@echo off
set MASM=D:\masm32
set INCLUDE=%MASM%\include
set LIB=%MASM%\lib
set PATH=%PATH%;%MASM%\bin

由于我是把masm32 SDK装在D盘, 如果你不是装D盘, 那把D:\masm32换成你的安装目录就行了, 需要注意的是, 不要在脚本的后面多空格或者其他的字符, 这样会导致找不到, 因为bat脚本会把那些字符也包含进去。
执行了这个批处理后, 就可以进汇编的汇编链接了。
(完)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1053939.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java 进阶篇】MySQL多表关系详解

MySQL是一种常用的关系型数据库管理系统,它允许我们创建多个表格,并通过各种方式将这些表格联系在一起。在实际的数据库设计和应用中,多表关系是非常常见的,它能够更好地组织和管理数据,实现数据的复杂查询和分析。本文…

Heptabase 究竟好在哪儿?

(注:本文为小报童精选文章,已订阅小报童或加入知识星球「玉树芝兰」用户请勿重复付费) Heptabase 1.0 正式版发布,你可以免费尝试了。 赞誉 我因为研究各种知识管理工具,常年混迹在不同的社区、群组与论坛中…

Python日期的加减等操作

嗨喽,大家好呀~这里是爱看美女的茜茜呐 日期输出格式化 所有日期、时间的api都在datetime模块内。 👇 👇 👇 更多精彩机密、教程,尽在下方,赶紧点击了解吧~ python源码、视频教程、插件安装教程、资料我都…

《MySQL高级篇》十六、主从复制

文章目录 1、主从复制概述1.1 如何提升数据库并发能力1.2 主从复制的作用 2、主从复制的原理2.1 原理剖析2.2 复制的基本原则 3、一主一从架构搭建3.1 准备工作3.2 主机配置文件3.3 从机配置文件3.4 主机:建立账户并授权3.5 从机:配置需要复制的主机3.6 …

UE5.1编辑器拓展【二、脚本化资产行为,快速更改资产名字,1.直接添加前缀或后缀2.通过资产类判断添加修改前缀】

目录 了解相关的函数 第一种做法:自定义添加选择资产的前缀或后缀 代码 效果 第二种做法:通过映射来获取资产类型添加前缀和修改前缀 映射代码 代码 效果 在之前一章中,我们创建了插件,用来扩展编辑器的使用: …

福利!这两款我自制的免费配色工具你领到了吗?

​前两天刚入职,还没干过啥活儿,就迎来了中秋3天国庆7天总共8天的假期,美滋滋。 在这么喜庆的日子里,我觉得大家应该也无心科研,所以不如给大家发点儿福利,继续乐呵乐呵。 当然,说是福利&…

Redis代替session 实现登录流程

Redis代替session 实现登录流程 如果使用String,他的value,用多占用一点空间,如果使用哈希,则他的value中只会存储他数据本身,如果不是特别在意内存,其实使用String就可以 设计key的具体细节 在设计这个k…

如何在Cocos中绘制一面国旗祝祖国生日快乐、繁荣昌盛

引言 大家好,我是亿元程序员,一位有着8年游戏行业经验的主程。 74年风雨兼程、74载山河巨变,我们一起来祝福伟大的祖国生日快乐、繁荣昌盛!我爱你中国! 本文主要演示在Cocos中绘制一面国旗,用代码去表达…

【Java每日一题】— —第十七题:杨辉三角(等腰三角形)。(2023.10.01)

🕸️Hollow,各位小伙伴,今天我们要做的是第十七题。 🎯问题: 第一步:动态初始化 第二步:求各元素的值 第三步:遍历输出 测试结果如下: 🎯 结果: public class yanghui {public sta…

10.1 国庆节小任务

目录 select实现服务器并发 服务器 客户端 运行现象 select实现服务器并发 服务器 #include<myhead.h>#define PORT 8888 //1024~49151 #define IP "192.168.1.104" //ifconfig查看本机IPint main(int argc, const char *argv[]) {//创建流式…

1.5.C++项目:仿muduo库实现并发服务器之socket模块的设计

项目完整版在&#xff1a; 一、socket模块&#xff1a;套接字模块 二、提供的功能 Socket模块是对套接字操作封装的一个模块&#xff0c;主要实现的socket的各项操作。 socket 模块&#xff1a;套接字的功能 创建套接字 绑定地址信息 开始监听 向服务器发起连接 获取新连接 …

WPF 02

Grid容器 分行和分列 <Grid><Grid.RowDefinitions><!--2*&#xff1a;此行是下面一行的两倍--><RowDefinition Height"2*"/><RowDefinition/></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition/>…

[管理与领导-107]:IT人看清职场中的隐性规则 - 4 - 职场话术:其实是同一个意思,只是换一种了说法,效果不同,小心被套路

目录 前言&#xff1a; 一、套路和核心思想 1.1 核心思想 1.2 基本原则&#xff1a;让听话者舒服 二、消极变积极的说法 》 自足当下&#xff0c;展望未来 三、委婉拒绝 四、不想接受某项任务 五、正面、让人舒服的表达方式 六、其他 七、职场话术128条&#xff1a;…

ssm+vue的4S店预约保养管理系统(有报告)。Javaee项目,ssm vue前后端分离项目。

演示视频&#xff1a; ssmvue的4S店预约保养管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;ssm vue前后端分离项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结…

淘宝/天猫获得淘宝商品详情API(含测试示例)

taobao.item_get 调用说明 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中进入测试&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item_search_shop等]c…

智能文字识别技术——AI赋能古彝文保护

前言 人工智能在古彝文古籍保护方面具有巨大的潜力和意义。通过数字化、自动化和智能化的手段&#xff0c;可以更好地保护和传承古彝文的文化遗产&#xff0c;促进彝族文化的传承和发展。 文章目录 前言一、古彝文是什么&#xff1f;1.1古彝文的背景1.2古彝文古籍保护背景 二、…

支持向量机SVM:从数学原理到实际应用

目录 一、引言背景SVM算法的重要性 二、SVM基础线性分类器简介什么是支持向量&#xff1f;超平面和决策边界SVM的目标函数 三、数学背景和优化拉格朗日乘子法&#xff08;Lagrange Multipliers&#xff09;KKT条件核技巧&#xff08;Kernel Trick&#xff09;双重问题和主问题&…

竞赛 基于设深度学习的人脸性别年龄识别系统

文章目录 0 前言1 课题描述2 实现效果3 算法实现原理3.1 数据集3.2 深度学习识别算法3.3 特征提取主干网络3.4 总体实现流程 4 具体实现4.1 预训练数据格式4.2 部分实现代码 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于深度学习机器视觉的…

windows server 2019 、win11安装docker desktop

Docker Desktop Docker Desktop是可以部署在windows运行docker的应用服务&#xff0c;其基于windos的Hyper-V服务和WSL2内核在windos上创建一个子系统(linux)&#xff0c;从而实现其在windows上运行docker。 前提条件 WSL 查看wsl是否安装 我们可以直接在 cmd 或 powershe…

软件过程的介绍

软件过程概述 软件的诞生和生命周期是一个过程&#xff0c;我们总体上称这个过程为软件过程。软件过程是为了开发出软件产品&#xff0c;或者是为了完成软件工程项目而需要完成的有关软件工程的活动&#xff0c;每一项活动又可以分为一系列的工程任务。任何一个软件开发组织&a…