GCC编译器下载、安装与入门使用:Linux和Windows平台完整指南
创始人
2026-09-19 02:01:38

GCC(GNU Compiler Collection)是世界上最流行的开源编译器套件,支持C、C++、Objective-C、Fortran、Ada等多种语言,几乎所有Linux发行版都预装了GCC,嵌入式开发、开源软件编译、Python/Ruby这些高级语言的底层依赖也都离不开它。但是在Windows上装GCC就没那么直接了——原版GCC是Linux/Unix专用的,Windows用户得通过MinGW、MinGW-w64或者MSYS2来获取Windows版的GCC。今天把GCC在两大平台的下载安装和入门使用讲透,新手跟着做一遍就能跑起来。

先说Linux。Ubuntu/Debian系最方便,一条命令搞定:sudo apt update && sudo apt install build-essential。build-essential这个元包不只是装gcc,还装了g++、make、dpkg-dev等编译必备工具,是Linux开发的入门必装包。装完之后gcc --version应该能看到版本信息,比如Ubuntu 22.04默认装的是GCC 11.4.0。CentOS/RHEL系用yum install gcc gcc-c++ make,或者新版用dnf groupinstall "Development Tools"。Arch Linux直接pacman -S base-devel。macOS用户需要先装Xcode Command Line Tools:xcode-select --install,弹窗点安装就行,装完自带clang(GCC的替代品,完全兼容GCC语法,mac上默认用clang)。如果一定要GCC而不是clang,可以brew install gcc,Homebrew会装最新版GCC并命名为gcc-12(版本号后缀),因为mac自带的gcc命令实际上指向clang。

重点说Windows上怎么装。主流有三种方案:MinGW-w64、MSYS2、WSL2。MinGW是最早的Windows版GCC项目,全称Minimalist GNU for Windows,GCC编译出来的程序用的是MinGW自己的C运行时(mingwrt),不是Windows原生的MSVCRT。但原版MinGW只支持32位,64位Windows上要用MinGW-w64分支。MinGW-w64的官网是mingw-w64.org,下载的话推荐用SourceForge上的预制包,或者更好的方式是用MSYS2。

MSYS2(Minimal System 2)可以看作是MinGW-w64的增强版,它自带一个完整的类Unix shell环境(Bash)、包管理器(pacman,跟Arch Linux同源),以及两套工具链:MingGW64(编译出来是Windows原生exe)和UCRT64(用Windows Universal C Runtime)。MSYS2的下载地址是msys2.org,安装包只有几十MB,安装到默认路径C:\msys64(路径里不要有中文和空格)。安装完后打开"MSYS2 MSYS"终端窗口,先更新包管理数据库和已装的包:pacman -Syu,更新完关掉窗口再打开一次,然后再执行一次pacman -Syu确保全部更新。

安装GCC的命令很简单:在MSYS2终端里pacman -S mingw-w64-x86_64-gcc,这样就装了基于MinGW-w64的GCC(64位)。注意包名前缀是mingw-w64-x86_64-,这是MingGW64环境的包。如果在MSYS2环境下开发,直接用pacman -S gcc就行,但这样装的是MSYS环境下的GCC,编译出来的程序是MSYS可执行文件,不是Windows原生的exe。一般开发Windows应用用MingGW64工具链,开发跨平台应用或者跑POSIX程序用MSYS环境或者UCRT64。

装完之后怎么在Windows命令行或者PowerShell里直接用gcc?默认情况下MSYS2的gcc只在它自己的Bash终端里能找到,Windows系统路径里没有。要全局可用,需要把MingGW64的bin目录(默认是C:\msys64\mingw64in)加到系统PATH环境变量里。操作方法:右键"此电脑"→属性→高级系统设置→环境变量→找到Path→编辑→新建→粘贴路径→一路确定。加完之后开一个新的CMD或PowerShell窗口,输入gcc --version,能看到版本信息就成功了。

第三种方案是WSL2(Windows Subsystem for Linux 2),这个最推荐给新手或者习惯Linux开发环境的人。WSL2是微软做的Windows内置Linux子系统,直接在Windows上跑完整的Linux内核,跟虚拟机一样但集成更深、性能更好。打开方式:设置→应用和功能→可选功能→启用"适用于Linux的Windows子系统"→重启,然后在Windows商店搜Ubuntu或者Arch Linux安装。装好的Ubuntu里直接用apt install build-essential装GCC,跟纯Linux一模一样,而且WSL2的文件系统跟Windows互通(Windows文件在/mnt/c下,WSL文件在\wsl$路径下),VS Code也有WSL Remote扩展可以无缝编辑WSL里的代码。

跑第一个Hello World程序验证GCC是否正常工作。写一个最简单的C程序:#include 然后int main(){printf("Hello GCC!\n");return 0;},保存为hello.c。编译命令gcc hello.c -o hello,这个命令的意思是调用gcc,编译hello.c源文件,输出可执行文件hello(Windows上自动加.exe后缀)。运行命令./hello(Linux/WSL)或者hello.exe(Windows CMD),输出"Hello GCC!"就OK了。如果用C++程序,把gcc换成g++就行:g++ hello.cpp -o hello。

编译参数常用的有哪些?-o 指定输出文件名;-Wall 打开所有警告(强烈建议加,能帮你发现很多潜在bug);-g 在可执行文件里保留调试信息(配合gdb调试用);-O2 优化级别2(发布版用,运行更快但编译慢,调试信息少);-std=c11 指定C语言版本(GCC默认是gnu11,带了GNU扩展,想写标准C要显式指定-std=c11或者-std=c99);-lm 链接数学库(用sin、cos、sqrt等数学函数必须加这个参数);-I 指定头文件搜索路径;-L 指定库文件搜索路径;-l 链接指定库(比如-lpthread链接线程库)。

如果项目有多个源文件,比如main.c、util.c、config.h三个文件,编译命令写成gcc main.c util.c -o myapp,GCC会自动分别编译再链接。更大的项目用Makefile来管理编译过程:写一个Makefile文件,用make命令一键编译、make clean清理、make run运行。GCC只是编译器,Make是构建工具,两者配合才是真正的工程化开发。现在更高级的构建工具还有CMake、Meson,可以自动生成Makefile或者Ninja构建脚本,跨平台支持更好。

总结一下:Linux装build-essential,最省心;Windows首选MSYS2,包管理方便;习惯Linux命令行的用WSL2;纯Windows用户也可以直接下载MinGW-w64的预制解压包,解压后把bin目录加到PATH就行。装完之后立刻写个Hello World验证一下,别光装不跑。

⚠️
本网站信息内容及素材来源于网络采集或用户发布,如涉及侵权,请及时联系我们,发送链接至2697952338@QQ.COM,我们将第一时间进行核实与删除处理。

相关内容

热门资讯

秋天紫外线弱就不用防晒?防晒衣... 一、秋天还有必要防晒吗很多人一入秋就把防晒霜收进抽屉,理由是天气凉了、太阳不晒了。这是个流传很广的误...
GCC编译器下载、安装与入门使... GCC(GNU Compiler Collection)是世界上最流行的开源编译器套件,支持C、C+...
天冷泡脚别越烫越久越好:正确水... 一、泡脚到底"泡"的是什么入秋后气温走低,睡前用热水泡脚成了很多家庭的日常习惯。人的双脚离心脏最远,...
感冒药和退烧药别一起吃:成分重... 换季感冒发烧的人一多,一个危险的用药习惯就会集中出现:先吃了复方感冒药,烧还没退,又加一片退烧药,想...
流感疫苗为什么要每年都打:最佳... 一、流感不是普通感冒,疫苗是关键防线流行性感冒由流感病毒引起,起病急、传染性强,常表现为突发高热、全...
入秋皮肤干燥起皮怎么办?科学保... 白露过后空气湿度明显下降,不少人开始出现脸部紧绷、小腿起白屑、身上干痒等表现。秋季皮肤干燥的本质,是...
视频采集技术入门:从模拟摄像头... 视频采集这个技术,平时接触的人可能不多,但它在各行各业里都有应用:直播推流的人用采集卡把游戏画面转到...
秋季花粉过敏高发期:蒿草花粉的... 一、什么是秋季花粉过敏很多人以为春天才是花粉过敏的高发季,其实北方的九月同样是全年高峰之一。秋季花粉...
电热水器用了好几年没洗过?清洗... 很多人以为电热水器放出来的水清澈就是干净,其实内胆里可能已经积了厚厚的水垢和沉淀物。广东省疾控中心的...
换季被褥别只晒一下就收:除螨的... 一、尘螨是什么,藏在哪里换季收拾被褥时,很多人只把被子拿到阳台晒两三个小时就收进柜子,其实床铺里藏着...
新装修房除甲醛别只靠通风:常见... 装修完急着入住,不少人靠闻气味、摆绿植来判断家里是否安全,住进去后才通过检测发现甲醛超标。甲醛到底是...
卫星通信系统技术漫谈:从GPS... 卫星通信这个词听起来离我们很远,但实际上每天都在接触。手机定位用的GPS、北斗、Galileo就是卫...
换季腹泻别只怪肚子受凉:正确应... 一、什么是换季腹泻入秋后天气由热转凉,昼夜温差拉大,腹泻患者明显增多,很多人第一反应是"肚子受凉了"...
充电式暖手宝怎么选才安全:三种... 一、什么是储热式电热暖手器天一冷,插电就能反复加热的暖手宝又成了热销品。它在国家标准里的正式名称叫储...
入秋贴秋膘不是人人都要补:科学... 一、什么是贴秋膘贴秋膘源自农耕时代,夏天农活重、出汗多、消耗大,很多人一个夏天下来体重明显下降,入秋...
避雷器在线监测系统原理与工程应... 电力系统里的避雷器(现在基本都是氧化锌避雷器)是保护线路和设备免受雷电冲击和操作过电压的关键设备,一...
微波炉不是什么都能放:禁忌容器... 微波炉几乎是家家户户使用频率最高的厨房电器之一,热饭、解冻、加热牛奶都离不开它。但很多人不知道,用错...
天冷关窗用燃气别大意:防一氧化... 一、一氧化碳中毒是怎么回事天冷之后,不少人做饭、洗澡时习惯把门窗关得严严实实,这恰恰给一氧化碳中毒创...
插线板不是插得越多越方便:安全... 一、插线板为什么容易出事插线板是家里使用最频繁的用电配件之一,也是火灾隐患最集中的地方。据消防部门公...
春捂秋冻不是人人适合:秋冻的正... 「春捂秋冻」是流传很广的养生说法,意思是入秋后不急于添衣,让身体逐步适应降温,从而提高耐寒能力。但不...
74HC138译码器详解:引脚... 74HC138是数字电路里最常用的译码器芯片之一,几乎每个用过它的人都对它的三个使能脚和八个输出脚印...
降温后电热毯怎么用才安全:预热... 一、电热毯为什么藏着安全隐患电热毯是把发热线缝进织物里的贴身电器,工作电压是家用220伏,但发热线外...
厨房砧板为什么要生熟分开:分类... 一、生熟分开,分的到底是什么生熟分开,指的是处理生肉、生水产、生蛋这类生食材的刀具、砧板、容器,要和...
手机电池越来越不耐用?充电区间... 一、锂电池真正怕的是两件事现在手机、平板用的几乎都是锂离子电池,它和早年镍镉、镍氢电池的脾气完全不同...
冰箱温控档位不是越大越冷越好:... 一、档位和温度到底是什么关系家用冰箱的机械温控旋钮一般标注 0 到 7 档,很多人把它理解成单纯的"...