admin 管理员组

文章数量: 887021

Windows中使用GCC介绍

GCC介绍

GCC是由许多组件组成的。GCC原名为GNU C语言编译器(GNU C Compiler),只能处理C语言。但其很快扩展,变得可处理C++,后来又扩展为能够支持更多编程语言,如Fortran、Pascal、Objective -C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器集合(GNU Compiler Collection)。

GCC一般运行环境为linux。GCC的Windows移植版本,比较出名的就是MinGW和TDM-GCC【它们本身没有Windows用户熟悉的GUI(图形用户界面窗口)】。

MinGW是指只用自由软件来生成纯粹的 Win32 可执行文件的编译环境,它是 Minimalist GNU on Windows (Windows上的极简GNU)的略称。开发 MinGW 是为了那些不喜欢工作在 Linux操作系统而留在 Windows 的人提供一套符合 GNU 的 GNU 工作环境。MinGW在SourceForge上的下载托管网页MinGW - Minimalist GNU for Windows download | SourceForge

TDM-GCC是基于MinGW或MinGW-w64(直观表现是TDM-GCC的安装目录中含有MinGW或MinGW-w64目录),在windows上很好用!TDM-GCC下载网页tdm-gcc

【谈到 GCC,就不得不提 GNU,“GNU”是“GNU's Not Unix!”(GNU并非Unix!)的首字母递归缩写,中文名“革奴计划”。GNU 计划的最终目标是打造出一套完全自由(即自由使用、自由更改、自由发布)、开源的操作系统,并初步将其命名为 GNU 操作系统。GNU 计划的实施可谓一波三折,最重要的一点是,虽然该计划为 GNU 操作系统量身定做了名为 Thr Hurd 的系统内核,但由于其性能比不上同时期诞生的 Linux 内核,最终 GNU 计划放弃 The Hurd 而选用 Linux 作为 GNU 操作系统的内核。在 Linux 内核的基础上,GNU 计划开发了很多系统部件,GCC 就是其中之一(除此之外,还有 Emacs 、GDB等非常实用的软件)。提示:开源、自由并不等于免费。】

注意:GCC与gcc,g++是不同的东西(区分大小写!):

GCC:GNU Compiler Collection(GUN 编译器集合),它可以编译C、C++、JAV、Fortran、Pascal、Object-C、Ada等语言。

gcc是GCC中的GUN C Compiler(C 编译器)

g++是GCC中的GUN C++ Compiler(C++编译器)

【gcc-c++又叫做g++,g++默认语言设置为 C++,而且在连接的时候自动包含标准 C++ 库。

gcc和g++的主要区别:

1.对于 .c和.cpp文件,gcc分别当做c和cpp文件编译。

gcc 指令为用户提供了“手动指定代表编译方式”的接口,即使用 -x 选项。例如,gcc -xc xxx 表示以编译 C 语言代码的方式编译 xxx 文件;而 gcc -xc++ xxx 则表示以编译 C++ 代码的方式编译 xxx 文件。

2.对于 .c和.cpp文件,g++则统一当做cpp文件编译。

3.使用g++编译文件时,g++会自动链接标准库STL,而gcc不会自动链接STL;在用gcc编译c++文件时,为了能够使用STL,需要加参数 –lstdc++ 。

编译可以用gcc/g++,而链接可以用g++或者gcc -lstdc++。因为gcc命令不能自动和C++程序使用的库联接,所以通常使用g++来完成联接。但在编译阶段,g++会自动调用gcc,二者等价。因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了。】

对于 gcc 和 g++,初学者只要知道,对于 C 语言程序的编译,我们应该使用 gcc 指令,而编译 C++ 程序则推荐使用 g++ 指令,这就足够了。

Windows下如何gcc/g++编译器?

首先安装gcc/g++编译器,若之前是安装过Dev-C++、code::blocks之类的,这一步可省了。但可能需要将“Dev-Cpp安装路径\MinGW64\bin” 添加到Path环境变量中,Dev-Cpp安装路径部分应是你的Dev-Cpp实际安装路径,
我的Dev-Cpp安装路径是 C:\Program Files (x86)\Dev-Cpp
因此,将
C:\Program Files (x86)\Dev-Cpp\MinGW64\bin
添加到Path环境变量中

MinGW这个目录就是gcc移植到windows的结果。

MinGW是Minimalist GNU on Windows的略称。MinGW 是为了那些不喜欢工作在 Linux 操作系统而留在 Windows 的人提供一套符合 GNU 的 GNU 工作环境。

实际上 MinGW 并非一个 单纯的C/C++ 编译器,而是一套 GNU 工具集合,GCC是 MinGW 的核心所在。【若需要安装MinGW,详见 GCC编译器的安装教程(Windows环境)_nhyltt的博客-CSDN博客_gcc编译器安装 】

gcc可以编译c,g++可以编译c++;gdb可以用来调试。

在cmd中验证gcc是否正常执行

在cmd控制台窗体以下,输入gcc -v。若已经安装成功好,会显示gcc的版本号信息。

在cmd中验证g++是否正常执行

在cmd控制台窗体以下,输入g++ -v。若已经安装成功好,会显示g++的版本号信息。

在cmd中验证gdb是否正常执行

在cmd控制台窗体以下,输入gdb -v。若已经安装成功好,会显示gdb的版本号信息。

帮助选项--help,可以查看简要帮助

gcc --help

g++ --help

gdb --help

以g++ --help为例,查看g++简要使用帮助,如下图:

下面介绍 G++ 编译器的基本使用方法

使用g++编译运行C++程序

在D盘新建文件夹MinGwDemo中

用记事本建立一个test.cpp文件,内容如下:

#include <iostream>
using namespace std;
 
int main()
{
    cout << "你好,世界!" << endl; 
    cout << "Hello, world!" << endl; 
    return 0;
}

参见下图:

注意,保存时的设置:将默认编码UTF-8,修改为ANSI,防止g++编译后在CMD中运行中文显示乱码,若没改编码,也可用如下两法之一解决:

编译时加选项 -fexec-charset=GBK 也可以,如g++ test2.cpp -o test2 -fexec-charset=GBK

在cmd先输入运行 chcp 65001

【CHCP是一个计算机指令,能够显示或设置活动代码页编号。】

编译源文件使用

g++ 源文件名

g++ -o 可执行文件名 源文件名

前者,生成的默认源文件名a .exe,g++ test.cpp;后者可以指定可执行文件名(不要写扩展名.exe),如g++ test.cpp -o test,指定可执行文件名test .exe

打开cmd,切换路径到D:\MinGwDemo,再输入编译命令

参见下图

GCC入门 https://blog.csdn/monokai/article/details/122848340
GCC官方文档 https://gcc.gnu/onlinedocs/gcc/index.html

本文标签: Windows gcc