五分钟配置 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(两个地址二选一即 ...
随机推荐
- 阿里一面,说说你了解zookeeper的应用场景有哪些?
1.前言 又到了金三银四的时候,大家都按耐不住内心的躁动,我在这里给大家分享下之前面试中遇到的一个知识点(zookeeper应用场景),希望对大家有些帮助.如有不足,欢迎大佬们指点指点. 2.zook ...
- 如何在vscode中编写.net core 项目(vscode)
1.下载拓展 .NET Core Extension Pack (作者:保哥) 这个里面将需要的插件都打包了小白一键下载就好了 2.下载扩展 vscode-solution-explorer ...
- Docker容器内连接宿主机即CentOS的Mysql服务器
docker的宿主机是虚拟机下的CentOS 博主最近遇到一种情况,从服务器拷贝了一份数据库在宿主机Mysql服务器上,想要用本地的数据库测试自己的代码正确性,但是项目程序都是靠docker一键部署的 ...
- Java 中应该使用什么数据类型来代表价格?
如果不是特别关心内存和性能的话,使用 BigDecimal,否则使用预定义精度的 double 类型.
- 学习Apache(五)
apache目前主要有两种模式:prefork模式和worker模式: 1)prefork模式(默认模式) prefork是Unix平台上的默认(缺省)MPM,使用多个子进程,每个子进程只有一个线程 ...
- Contos 安装nodeJs环境
1.去nodeJs官网选择版本: https://nodejs.org/en/download/ 选择64位,右键复制链接地址 https://nodejs.org/dist/v8.12.0/node ...
- CPF 使用C#的Native AOT 发布程序
微软已经将AOT的包移到Nuget了,之前是在实验测试服务器上的.并且由之前的alpha版本改成了preview版本. C#的开发效率,接近C++的运行效率,而且可以防止反编译,可以支持大部分反射功能 ...
- jdk_8接口的内部内容
目标: 如何创建已定义好的接口类型的对象呢? 步骤: 实现的概述 抽象方法的使用 默认方法的使用 静态方法的使用 接口的常量使用 讲解: 实现的概述 类与接口的关系为实现关系,即类实现接口,该类可以称 ...
- Python学习--Python的了解与安装
Python简介: Python 是一种解释型.面向对象.动态数据类型的高级程序设计语言. Python 由荷兰人Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 19 ...
- 圣诞节,把网站所有的js代码都压缩成圣诞树吧。
本文分两章节,分别讲解如何使用js2image这个库生成可以运行的圣诞树代码 和 js2image的原理. github地址:https://github.com/xinyu198736/js2ima ...