五分钟配置 MinGW-W64 编译工具
编译器是一个诸如 C 语言撰写的源程序一步一步走向机器世界彼岸的桥梁。 Gnu 项目的 GCC 编译器是常用的编译器之一。儿在Windows 上也有 MinGW 这样可用的套件,可以让我们使用 GCC 来生成我们撰写的程序。但是 MinGW 项目发展缓慢,不支持 Windows 新特性,驱使我转换到了 MinGW-W64 上了。其实 MinGW-W64 也发源于 MinGW 项目。
要配置 MinGW-64 只需简单的三部即可完成。下面把我的步骤记录下来,共大家参考。
下载 -> 解压 -> 添加环境变量
MinGW-W64 的官方主页是: http://mingw-w64.org/。 可以在网站上获取文档、找到下载地址等。
下载可以前往 https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/ 来查找适合自己的版本来下载。
我选择下载的是 GCC 8.1.0 的 "i686-win32-sjlj" 这个版本的。
这里的 "i686" 是处理器架构。 "i686" 是我们通常说的 x86 或者 32 位, "X86_64" 是 "amd64" 或者我们经常说的 64位。这里要说的是,你选择什么架构,就只能生成对应架构运行的程序,所以我是 64 位的系统依然是选择的 "i686" 的版本。
"Win32" 是标准库的类型,除此还有 posix 可选。
儿最后的 "sjlj" 是异常调试模型,这么高深的我就不过多解释了。
下回来的是一个 ".7z" 的文件,我这里就用 7-Zip 来解压,并且把压缩包内的 "mingw32" 文件夹放到了 C 盘的根目录。
为了可以在 Cmd (命令提示符) 下直接可以使用 gcc 等工具,我们应该把 "mingw32" 文件夹下的 "bin" 目录加入环境变量。 在 Windows 10 上的路径是:
右击桌面上的 "此电脑” 图标或者直接按下 "Windows + Pause" 打开 “系统属性”,接着单机 "高级系统设置", 然后在新弹出来的对话框中点击 “环境变量”已打开 “环境变量” 设置界面;
选择 “用户的环境变量” 或者 “系统环境变量” 中的 “Path” 一项,然后点击对应的 “编辑” 按钮,具体选择哪一种变量编辑,主要是当前用户下可用还是所有用户下可用的区别。
在新弹出的对话框中填写你 MinGW-W64 下的 "bin" 文件夹的路径,我这里是 "C:\mingw32\bin",然后一路点击 “确定”。
经过上面的设置,你可以在 CMD (命令提示符) 下键入 "gcc -v" 查看到版本等信息。
一个简单的 Windows 32 应用程序的示例
我们可以敲一个简单的 Win32 应用程序来测试一下我们搭建的这个环境是不是可以用。你也可以把下面的代码保存成 ".c" 的 C 语言源代码文件,然后使用 "gcc -municode -mwindows 文件名.c" 来编译它。
/** Win32之一个信息框
* 或许是最简单的 Win32 应用程序了
* 编译套件: MinGW i686-8.1.0-release-win32-sjlj-rt_v6-rev0
* 时间: 21:39 2019/8/16
* 编译命令行: gcc -municode -mwindows *Win32_MessageBox.c
*/
#include <stdio.h>
#include <windows.h>
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd)
{
MessageBox(NULL, TEXT("hello world"), TEXT("Message"), 0);
return 0;
}
好了,今天的文章就写道这里啦,感谢你的阅读。下次再见了哟。
参考资料
五分钟配置 MinGW-W64 编译工具的更多相关文章
- JDK 的配置和反编译工具的使用---------------Java知识点
初始Java 1995年5月,sun公司开发了一门新的编程语言------Java 詹姆斯.高斯林(Java之父),Java语言小巧安全具有可移植可跨平台性的优点. 开发java程序的步骤:编写 ,编 ...
- MinGW下载并配置gcc/g++编译环境
本文将讲解如何下载MinGW并配置gcc\g++编译环境 一.下载MinGW 在MinGW官网中下载“mingw-get-setup.exe” 官网传送门:http://www.mingw.org/ ...
- Eclipse反编译工具Jad及插件JadClipse配置
Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的插件JadClipse ...
- Eclipse反编译工具Jad及插件JadClipse配置(转)
Eclipse反编译工具Jad及插件JadClipse配置 Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不 ...
- 如何在eclipse中配置反编译工具JadClipse
Q:为什么有必要在开发环境中配置反编译工具呢? A: 当运行引用了第三方jar包项目时,突然报出了jar包中的某个类的某一行出现异常.我们想看一下这个class文件的代码时,经常出现了如下图所示的场 ...
- 2: Eclipse反编译工具Jad及插件JadClipse配置
Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的.不过因为是控制台运行,所以用起来不太方便.不过幸好有一个eclipse的插件JadClipse ...
- Java反编译工具Jad及插件JadClipse配置教程
Jad是一个Java的一个反编译工具,和eclipse的插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码. 下面介绍一下配置: 下载JadClipse,http: ...
- 五分钟搞定 HTTPS 配置,二哥手把手教
01.关于 FreeSSL.cn FreeSSL.cn 是一个免费提供 HTTPS 证书申请.HTTPS 证书管理和 HTTPS 证书到期提醒服务的网站,旨在推进 HTTPS 证书的普及与应用,简化证 ...
- Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)
大致流程: 1.安装Qt(源码版)以及其他必要的环境 2.编译/安装 3.配置 4.使用 ----------正文分割线---------- 1.安装Qt(源码版) 1.1 下载Qt(两个地址二选一即 ...
随机推荐
- UNIX网络编程--学习日记
今天在学习accept函数的时候,在执行服务器程序的时候,碰到了如下的出错信息: bind error: Address already in use 其原因在于服务器程序使用了13号的端口; 然而在 ...
- RPC框架 和 fegin原理
打个比方,你有一些想法,你把他们变成文字写在信纸上,这是http 你把这个信纸塞进信封,这个信封是tcp 你把这个信封写上地址交给邮局,这地址是IP 一层套一层 会话层,表示层,应用层归到一起 就是 ...
- github新手使用指南
常用命令: Git 速查表(摘自 AI有道) 一.常见命令 git init : 初始化 git 仓库,即将一个文件夹初始化为一个 git 仓库.具体的操作是创建一个 .git 隐藏文件夹 git ...
- python实现AES加密、解密
AES加密方式有五种:ECB, CBC, CTR, CFB, OFB 从安全性角度推荐CBC加密方法,本文介绍了CBC,ECB两种加密方法的python实现 python 在 Windows下使用AE ...
- Jinkins流水线脚本使用curl命令调用服务接口,并且使用url传参。
curl http://xxx.xx.xx.xx:xxxx/jenkins/publish?fileName=${fileName}&tag_name=${tag_name} 如图调用不符合c ...
- 在 Java 中 Executor 和 Executors 的区别?
Executors 工具类的不同方法按照我们的需求创建了不同的线程池,来满足业务 的需求. Executor 接口对象能执行我们的线程任务. ExecutorService 接口继承了 Executo ...
- (转载)mos管电压规格是什么,什么是VMOS管栅极
电压规格:VDSS.VDS.BVDSS.V(BR)DSS VDSS中的"V"表示电压,前面的"D"."S"表示"Drain&quo ...
- 初识mybatis(为什么是mybatis?)
对原生态的 jdbc 中的问题总结 1.数据库连接,使用就创建,不使用立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能. 设想:使用数据库连接池管理数据库连接 2.将sql ...
- glusterfs架构和原理
分布式存储已经研究很多年,但直到近年来,伴随着谷歌.亚马逊和阿里等互联网公司云计算和大数据应用的兴起,它才大规模应用到工程实践中.如谷歌的分布式文件系统GFS.分布式表格系统google Bigtab ...
- git和github学习笔记
1. 了解Git和Github 2. 使用Github 3. Git安装和使用 4. Git基本工作流程 5. Git初始化及仓库创建和操作 6. Git管理远程仓库 7. Github Pages ...