当前位置: 首页 > news >正文

Windows环境下C语言汇编语言编辑器及环境安装

安装MinGw:

 1.下载安装文件

MinGW - 适用于 Windows 的极简主义 GNU 下载 |SourceForge.net

点击下载

下载之后就是如下图的安装文件

2.安装

双击安装文件进行安装,点击Install下一步

选择安装位置,默认是安装在C盘,点击Change可以自定义安装路径,

但是要注意安装路径中不能有空格,比如:C:/Program Files/MinGW这样的路径就不行,因为Program Files中有空格,安装界面也会提示警告,点击Choose an Alternative就可以重新选择安装路径。

点击Continue,继续安装

继续安装的界面如下,等待安装完成。

点击Continue继续,

就会打开如下安装窗口,选择如下包安装

点击左上角菜单栏,Update Catalogue 

 

会弹出如下窗口,点击Review Changes

之后会弹出如下窗口,点击Apply

安装完成后,点击Close

3设置环境变量

把MinGW安装路径的bin文件夹目录添加到环境变量中

打开Cmd,输入gcc测试是否添加成功,出现如下信息则表示添加成功!

安装Notepad++/Sublimtext:

1.下载安装文件

从以下网址下载,使用最新版本即可

Notepad++:Downloads | Notepad++ (notepad-plus-plus.org)
Sublimtext:Sublime Text - 文本编辑,正确完成

下载完成后是这样两个文件,可按需安装

执行C程序测试:

新建一个C语言的工作目录,并新建一个c语言文件,如下:

使用Sublimtext打开,写入以下代码:

#include <stdio.h>int main()
{printf("Hello World");
}

使用gcc编译代码,将代码文件夹在Cmd窗口打开,使用命令gcc HelloWorld.c

编译完成后,此文件夹就会出现以下执行程序

在cmd中运行此程序

安装NASM:

1.下载安装

从以下网址中下载NASM

NASMhttps://www.nasm.us/点击版本下载:

 

下载完成后,得到如下文件:

2.安装:

点击下载好的文件,开始安装(可以使用管理员运行,也可以双击运行,在学习使用上没区别),点击Next继续

选择好安装路径,点击Next继续

点击Install继续

3.设置环境变量

将NASM的安装目录添加到环境变量中

在Cmd测试,出现如下信息,代表环境变量设置成功!

安装SASM:

SASM是一个帮助我们轻松构建汇编程序的汇编器,通过使用 SASM,可以暂时不必学习链接的概念,它还可以轻松地打印字符串和数字,否则需要编写自己的例程或下载特殊的例程来打印到屏幕。最重要的是,可以在一个窗口中运行和测试程序。

1.下载安装

下载地址如下:

下载 Dmitriy Manushin 的 SASM (informer.com)

下载完成后,得到如下文件:

 

2.安装:

选择安装语言,点击OK继续

点击Next继续

同意许可,点击Next继续

选择合适安装路径,点击Next继续

点击Next继续

可选是否生成桌面图标,点击Next继续

点击Install下载

在下载完成后,就可以打开SASM窗口如下:

执行汇编程序测试:

1.使用NASM编译测试:

创建一个汇编语言的工程目录,并新建一个汇编文件,如下:

使用Sublimtext打开,并键入如下代码:

section .datamsg db 'Hello, World!', 0   ; 字符串以0结尾section .textglobal _main                ; 入口点声明(MinGW需用_main)extern _printf              ; 引用C标准库函数_main:push msg                    ; 参数压栈(32位)call _printf                ; 调用printfadd esp, 4                  ; 清理栈(32位)ret

 使用NASM编译汇编文件,

注:-f win64:生成64位目标文件(64位MinGW需选此格式)
       -o xxxx.obj:输入为xxxx.obj文件

在当前文件夹就会生成一个.obj文件

使用MinGW链接编辑后的文件为可执行程序文件.exe,gcc自动调用ld链接器,并链接C运行时库。

 

使用MinGW链接成64位的就出现了以上的问题,原因就是我们下载安装的是32位的MinGW,nasm编译的.obj文件与MinGW版本不匹配导致的,所以nasm要把汇编编译成32位的,再使用MinGW链接成32位的程序即可。

2.使用SASM编译测试

新建一个SASM工程,并键入以下代码:

%include "io.inc"section .datamsg db 'Hello,World!!',0section .textglobal CMAIN
CMAIN:mov ebp, esp;for correct debugging;write your code herePRINT_STRING msgxor eax, eaxret

运行工程, 输出Hello World,如下:

参考书籍:
《Developing A Computer Operating System From Scratch》

http://www.lryc.cn/news/576773.html

相关文章:

  • 提升JavaScript性能的六大关键策略
  • 博图SCL编程利器:CASE OF 语句详解与应用指南之设备运行模式选择框架
  • [面试] 手写题-数组转树
  • VS2022-动静态库
  • (LeetCode 面试经典 150 题 ) 134. 加油站 (贪心)
  • MATLAB GUI界面设计 第七章——高级应用
  • 大数据Hadoop之——安装部署hadoop
  • Wpf布局之StackPanel!
  • 【Java EE初阶 --- 多线程(进阶)】锁策略
  • Git常见使用
  • 现代 JavaScript (ES6+) 入门到实战(四):数组的革命 map/filter/reduce - 告别 for 循环
  • 【记录】Ubuntu创建新用户,并可远程连接
  • 【大语言模型入门】—— 浅析LLM基座—Transformer原理
  • 自然语言处理NLP期末复习
  • 解锁云原生微服务架构:搭建与部署实战全攻略
  • 小米路由器 AX3000T自定义子网掩码
  • 大模型小模型选型手册:开源闭源、国内国外全方位对比
  • AtCoder Beginner Contest 412
  • 2025.6GESP四级(编程题详解)
  • 基于云的平板挠度模拟:动画与建模-AI云计算数值分析和代码验证
  • 鸿蒙5:自定义构建函数
  • 提示技术系列——生成知识提示
  • HTTP中常见的Content-Type
  • 【HuggingFace】模型选型策略指南(读懂config.json)
  • RAG工作原理
  • 什么是MPC(多方安全计算,Multi-Party Computation)
  • LeetCode Hot 100 最大子数组和
  • HarmonyOS NEXT仓颉开发语言实战案例:小而美的旅行App
  • NLP文本增强——随机删除
  • HarmonyOS NEXT仓颉开发语言实战案例:健身App