惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

B
Blog RSS Feed
量子位
Recent Announcements
Recent Announcements
T
The Blog of Author Tim Ferriss
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Blog — PlanetScale
Blog — PlanetScale
H
Help Net Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - Franky
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
宝玉的分享
宝玉的分享
大猫的无限游戏
大猫的无限游戏
V
Visual Studio Blog
博客园 - 聂微东
aimingoo的专栏
aimingoo的专栏
Microsoft Security Blog
Microsoft Security Blog
U
Unit 42
J
Java Code Geeks
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
IT之家
IT之家
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
L
LangChain Blog

博客园 - eyoung

怎样才能把自己的网站做好(引用经济学理论知识)[转] 偷听城市 指针在typedef中使用后的理解 幻景 雾中的圣诞节 哎,怎么会是这样 征程 闭关 这般迷糊 聆听雨雪 记忆魔法--艾宾浩斯遗忘曲线[转] The life I desired 笑话背后的顿悟[转] 世事无常 这样软件开发人才级别的划分你同意吗[转] 起于C++ Hesitation! 十一流水账 程序员的桃花庵[转]
GCC 概述
eyoung · 2006-09-17 · via 博客园 - eyoung

花了些时间学习了下GCC,在此作一下总结,不求多么深入,只求通俗易懂。希望能让更多的初学者在较短时间内对其有一个概况的了解

先来说说GNU:GNU(“GNU's Not Unix”的递归缩写,它的发音为“guh-noo”)是一个自由软件工程项目,该项目始于1984年,它是一个叫做Richard Stallman的牛人发起的,目的是开发一个完整的、自由的类UNIX系统(UNIX like):GNU系统。各种使用Linux作为内核的GNU操作系统正在被广泛的使用;尽管这类操作系统常常被简略的称作Linux,其实更准确的说法应该是GNU/Linux系统。

GCC是GNU的C和C++ 编译器,用于Unix/Unix-like系统下编程,对C与C++标准有很好的支持。起初,GCC只是一个C语言编译器,他是GNU C Compiler 的英文缩写。随着众多自由开发者的加入和GCC自身的发展,如今的GCC以经是一个包含众多语言的编译器了。其中包括C,C++,Ada,Object C和Java等。所以,GCC也由原来的GNU C Compiler变为GNU Compiler Collection。也就是“GNU编译器家族”的意思。当然,如今的GCC借助于他的特性,具有了交叉编译器的功能,即在一个平台下编译另一个平台的代码。

GCC 可同时用来编译C 程序和C++ 程序。一般来说,C 编译器通过源文件的后缀名来判断是C 程序还是C++ 程序。在Linux 中,C 源文件的后缀名为.c,而C++ 源文件的后缀名为.C 或.cpp。gcc命令主要用来编译C程序,也可以用来编译C++ 源文件,但是它不能自动和C++ 程序使用的库连接。因此,通常使用g++来完成C++ 程序的编译和连接,该程序会自动调用gcc 实现编译。g++实际上也是调用gcc来编译, 也就是说g++其实只是连接C++程序,真正的编译还是交给gcc,这时可以把gcc看作一个外壳。

起初,GCC只是用于Unix,Unix-like系统的编译器。不过,现在Windows下也出现了GCC的稳定移植版。比较流行的有:MinGW,Cygwin和Djgpp(Djgpp是应用于DOS系统的,考虑到windows对DOS的兼容,所以也将Djgpp纳入其中了)。

MinGW,Cygwin和Djgpp各有特色,针对不同的应用场合,可以选择不同的移植版来满足需要。MinGW这个系列的移植,主要方向是让GCC的Windows移植版能使用Win32API来编程。而Cygwin的目标是能让Unix-like下的程序代码在Windows下直接被编译。至于Djgpp,则是想让DOS下也能用上GCC。

现在在Windows下用的比较多的是MinGW系列。再加上MinGW较Cygwin和Djgpp安装和使用更为简便。所以,建议读者学习时还是使用MinGW。

PS:本文参考了北斗星君的《GCC for Win32开发环境介绍(1)》