首页 > 代码库 > linux搭建C开发环境
linux搭建C开发环境
目前决大多 数的Linux用户对Linux的了解还处于比较低级的层次,他们可能会几条命令、会配几种服务、会用rpm来安装软件、会操作KDE/Gnome界机等等,但是当他们遇到一些需要编译安装的软件时,面对一些简单的出错信息,他们就手足无措了。要想真正跨跃这些初级层次,你就不可能不去了解一些底层的东西,比如本文要讲到的Linux下的C开发环境以及本文之外的其它操作系统知识。
Linux和C天生有不解之源,大家可能知道Linux的操作系统内核就主要是用C写的,另外Linux下的很多软件也是用C写的,特别是一些著名的服务软件,比如MySQL、Apache等。初学者可能在编译MySQL这样的软件时,遇到过各式各样的错误,其实只要你初步了解了Linux的C开发环境,你就能自选解决安装过程中的一些错误。
Linux的C开发环境与Windows的有所不同,在Linux下,一个完整的C开发环境包括以下三个组成:
1、函数库: glibc
要构架一个完整的C开发环境,Glibc是必不可少的,它是Linux下C的主要函数库。Glibc有两种安装方式:
A.安装成测试用的函数库
在编译程序时用不同的选项来试用新的函数库
B.安装成主要的C函数库
所有新编译程序均用的函数库
Glibc2含几个附加包:LinuxThreads、locale和crypt,通常它们的文件名随版本不同而类似于下列文件名:
glibc-2.06.tar.gz
glibc-linuxthreads-2.0.6.tar.gz
glibc-localedate-2.0.6.tar.gz
glibc-crypt-2.0.6.tar.gz
2、编译器:gcc
gcc(GNU CCompiler)是GNU推出的功能强大、性能优越的多平台编译器,gcc编译器能将C、C++语言源程序、汇程式化序和目标程序编译、连接成可执行文件,以下是gcc支持编译的一些源文件的后缀及其解释:
.c为后缀的文件,C语言源代码文件;
.a为后缀的文件,是由目标文件构成的档案库文件;
.C,.cc或.cxx 为后缀的文件,是C++源代码文件;
.h为后缀的文件,是程序所包含的头文件;
.i 为后缀的文件,是已经预处理过的C源代码文件;
.ii为后缀的文件,是已经预处理过的C++源代码文件;
.m为后缀的文件,是Objective-C源代码文件;
.o为后缀的文件,是编译后的目标文件;
.s为后缀的文件,是汇编语言源代码文件;
.S为后缀的文件,是经过预编译的汇编语言源代码文件。
3、系统头文件:glibc_header
缺少了系统头文件的话,很多用到系统功能的C程序将无法编译。
假如用户在安装过程中少装了这些包,就会无法编译C源程序。初学者有时候选择自己定制软件包来安装,结果遗漏了这些包,导致无法编译源程序,不少人就只好重新安装一遍Linux。其实并不需要这样做,虽然从tar包来安装Linux的C开发环境对于初学者来说比较难,但是我们还是可以通过rpm包来迅速安装Linux的C开发环境的。下面以Red Hat 7.3为例,介绍如何安装Linux的C开发环境,如果是更高版本的Red Hat也可以参考,只是要注意软件版本的不同。
由于gcc包需要依赖binutils和cpp包,另外make包也是在编译中常用的,所以一共需要8个包来完成安装,它们是:
cpp-2.96-110.i386.rpm
binutils-2.11.93.0.2-11.i386.rpm
glibc-2.2.5-34.i386.rpm
glibc-kernheaders-2.4-7.14.i386.rpm
glibc-common-2.2.5-34
glibc-devel-2.2.5-34.i386.rpm
gcc-2.96-110.i386.rpm
make-3.79.1-8.i386.rpm
如果连在internet上的话,可以直接从internet上安装,命令依次如下:
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/cpp-2.96-110.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/binutils-2.11.93.0.2-11.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-kernheaders-2.4-7.14.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-2.2.5-34.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-devel-2.2.5-34.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-common-2.2.5-34.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/gcc-2.96-110.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/make-3.79.1-8.i386.rpm
如果不是连在internet上的话,就要下载下来安装了。安装完后,就构成了最基本的C开发环境,在这个C开发环境中,可以编译多数的C写的应用程序。而对于一个C程序来说,安装完成后通常可以分成三个组成:
1.可执行文件
2.包含文件
3.库文件
可执行文件就是最终运行的命令,包含文件是该C程序include的一些定义文件,库文件则是该C程序自定义的库。比如对于用RPM安装的MySQL:可执行文件放在/usr/bin下,包含文件放在/usr/include/mysql下,库文件在/usr/lib/mysql下。只有系统可以找到程序对应的包含文件和库文件,程序可执行文件才能正常运行。
目前决大多
数的
Linux
用户对
Linux
的了解还处于比较低级的层次,他们可能
会几条命令、会配几种服务、会用
rpm
来安装软件、会操作
KDE/Gnome
界机等等,但是当
他们遇到一些需要编译安装的软件时,
面对一些简单的出错信息,
他们就手足无措了。
要想
真正跨跃这些初级层次,
你就不可能不去了解一些底层的东西,
比如本文要讲到的
Linux
下
的
C
开发环境以及本文之外的其它操作系统知识。
Linux
和
C
天生有不解之源,
大家可能知道
Linux
的操作系统内核就主要是用
C
写的,
另外
Linux
下的很多软件也是用
C
写的,
特别是一些著名的服务软件,
比如
MySQL
、
Apache
等。初学者可能在编译
MySQL
这样的软件时,遇到过各式各样的错误,其实只要你初步了
解了
Linux
的
C
开发环境,你就能自选解决安装过程中的一些错误。
Linux
的
C
开发环境与
Windows
的有所不同,在
Linux
下,一个完整的
C
开发环境包
括以下三个组成:
1
、函数库
: glibc
要构架一个完整的
C
开发环境,
Glibc
是必不可少的,它是
Linux
下
C
的主要函数库。
Glibc
有两种安装方式:
A.
安装成测试用的函数库
在编译程序时用不同的选项来试用新的函数库
B.
安装成主要的
C
函数库
所有新编译程序均用的函数库
Glibc2
含几个附加包:
LinuxThreads
、
locale
和
crypt
,通常它们的文件名随版本不同而类似
于下列文件名:
glibc-2.06.tar.gz
glibc-linuxthreads-2.0.6.tar.gz
glibc-localedate-2.0.6.tar.gz
glibc-crypt-2.0.6.tar.gz
2
、编译器:
gcc
gcc(GNU CCompiler)
是
GNU
推出的功能强大、性能优越的多平台编译器,
gcc
编译器
能将
C
、
C++
语言源程序、汇程式化序和目标程序编译、连接成可执行文件,以下是
gcc
支
持编译的一些源文件的后缀及其解释:
.c
为后缀的文件,
C
语言源代码文件;
.a
为后缀的文件,是由目标文件构成的档案库文件;
.C
,
.cc
或
.cxx
为后缀的文件,是
C++
源代码文件;
.h
为后缀的文件,是程序所包含的头文件;
.i
为后缀的文件,是已经预处理过的
C
源代码文件;
.ii
为后缀的文件,是已经预处理过的
C++
源代码文件;
.m
为后缀的文件,是
Objective-C
源代码文件;
.o
为后缀的文件,是编译后的目标文件;
.s
为后缀的文件,是汇编语言源代码文件;
.S
为后缀的文件,是经过预编译的汇编语言源代码文件。
3
、系统头文件:
glibc_header
缺少了系统头文件的话,很多用到系统功能的
C
程序将无法编译。
假如用户在安装过程中少装了这些包,就会无法编译
C
源程序。初学者有时候选择自
己定制软件包来安装,
结果遗漏了这些包,
导致无法编译源程序,
不少人就只好重新安装一
遍
Linux
。其实并不需要这样做,虽然从
tar
包来安装
Linux
的
C
开发环境对于初学者来说
比较难,但是我们还是可以通过
rpm
包来迅速安装
Linux
的
C
开发环境的。下面以
Red Hat
7.3
为例,介绍如何安装
Linux
的
C
开发环境,如果是更高版本的
Red
Hat
也可以参考,只
是要注意软件版本的不同。
由于
gcc
包需要依赖
binutils
和
cpp
包,另外
make
包也是在编译中常用的,所以一共
需要
8
个包来完成安装,它们是:
cpp-2.96-110.i386.rpm
binutils-2.11.93.0.2-11.i386.rpm
glibc-2.2.5-34.i386.rpm
glibc-kernheaders-2.4-7.14.i386.rpm
glibc-common-2.2.5-34
glibc-devel-2.2.5-34.i386.rpm
gcc-2.96-110.i386.rpm
make-3.79.1-8.i386.rpm
如果连在
internet
上的话,可以直接从
internet
上安装,命令依次如下:
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/cpp-2.96-110.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/binutils-2.11.93.0.2-11.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-kernheaders-2.4-7.14.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-2.2.5-34.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-devel-2.2.5-34.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/glibc-common-2.2.5-34.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/gcc-2.96-110.i386.rpm
rpm -ivh
ftp://216.254.0.38/linux/redhat/7.3/en/os/i386/RedHat/RPMS/make-3.79.1-8.i386.rpm
如果不是连在
internet
上的话,
就要下载下来安装了。
安装完后,
就构成了最基本的
C
开发环境,在这个
C
开发环境中,可以编译多数的
C
写的应用程序。而对于一个
C
程序来
说,安装完成后通常可以分成三个组成:
1.
可执行文件
2.
包含文件
3.
库文件
可执行文件就是最终运行的命令,包含文件是该
C
程序
include
的一些定义文件,库
文件则是该
C
程序自定义的库。比如对于用
RPM
安装的
MySQL
:可执行文件放在
/usr/bin
下,包含文件放在
/usr/include/mysql
下,库文件在
/usr/lib/mysql
下。只有系统可以找到程序
对应的包含文件和库文件,程序可执行文件才能正常运行。
了解了
Linux
的
C
开发环境的构成和安装,
还是不够的,
还需要对其深入研究和学习,
才能够做到“知其然,知其所以然”
。
linux搭建C开发环境