作者:EI__Nino
转自:http://blog.csdn.net/ei__nino/article/details/7459254
在windows下写C程序是一件很容易的事,装好Turbo C就可以了,相信各位学过编程的都十分了解Turbo C吧。特别是现在大学里人人忙考级的情况下,二级C语言大概成了每个人默认考过的等级考试吧。可是在linux下又如何写C程序呢?其实,linux下写 C也是很容易的。IDE的话用 eclipse 集成 CDT 模块就行了。当然这属于重量级的了,就如同VC++之于windows一样。那有没有像Turbo C那样的小工具呢,主要也就是用到它的编译功能。恩,这就是这次我们要说的 GCC 了。
根据 wikipedia (google)上的定义,GCC(GNU Compiler Collection,GNU编译器套装),是一套由GNU开发的编程语言编译器。它是GNU toolchain的关键部分,亦是开放源代码的类Unix操作系统的标准编译器。
GCC跟Turbo C的处理过程大同小异,其由C语言源代码文件生成可执行文件的过程不仅仅是编译的过程,而是要经历四个相互关联的步骤∶预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。所以,基本上可以这么说,用过 Turbo C的,很容易就会习惯GCC了。
好了,现在我们来写个简单的程序吧。首先是安装GCC,如果你使用的是Ubuntu,则在终端中输入以下命令来安装GCC。
sudo apt-get install gcc
C就可以写程序了?别急,现在GCC什么文件都还不能编译呢。还记得在Turbo C上我们不是还要设置头文件的路径吗?是的,我们需要安装这些头文件,这就是build- essential软件包。安装好这个包,系统就会自动安装上g++,libc6-dev,linux-libc- dev,libstdc++6-4.1- dev等一些必须的软件和头文件的库。我们可以在终端中输入下面命令来安装:
sudo apt-get install build-essential
好了,环境搭建完毕,就让我们开始动手写程序吧。首先来个最经典的hello world热热身。用 gedit 或者 vi 写下这个程序,并保存为hello.c。
#include <stdio.h>
int main()
{
printf( “Hello world!\n” );
return 0;
}
将文件保存为hello.c后,在终端中使用敲入以下命令来使用GCC对程序进行编译。
gcc hello.c -o hello
编译通过后,我们会在当前目录中看到hello文件,这就是编译后生成的可执行文件。好了,我们来运行一下它,来跟world打个招呼。
./hello
我们可以看到在终端中输出了”Hello world!”,这就说明我们的程序运行成功了。
最后,需要特别说明的是GCC中对于文件后缀的规定有点特殊,特别是C++源代码文件的后缀不是cpp,而是cc或cxx。
.c为后缀的文件,C语言源代码文件;
.a为后缀的文件,是由目标文件构成的档案库文件;
.C,.cc或.cxx 为后缀的文件,是C++源代码文件;
.h为后缀的文件,是程序所包含的头文件;
.i 为后缀的文件,是已经预处理过的C源代码文件;
.ii为后缀的文件,是已经预处理过的C++源代码文件;
.m为后缀的文件,是Objective-C源代码文件;
.o为后缀的文件,是编译后的目标文件;
.s为后缀的文件,是汇编语言源代码文件;
.S为后缀的文件,是经过预编译的汇编语言源代码文件。
好了,发挥想象力尽情写程序吧!
来自
http://www.linuxidc.com/Linux/2007-11/9200.htm