Windows中使用GCC介绍
Windows中使用GCC介绍。注意,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++编译器)。.............
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.net上的下载托管网页MinGW - Minimalist GNU for Windows download | SourceForge.net
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.net/monokai/article/details/122848340
GCC官方文档 https://gcc.gnu.org/onlinedocs/gcc/index.html
![Logo](https://devpress.csdnimg.cn/79de2bf0b7994defa4242ef90d5513fa.jpg)
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)