C语言在Linux系统的地位:Liinux的操作系统内核主要是用C写的,并且Linux下的很多软件也是C写的,如开源数据库,MySQL,Apache(web服务器)
开发环境构成
编辑器:不同版本都包括VI,并且用法类似,采用VI作为编辑器
编译器:免费主流选择GNU C/C++编译器gcc(发现语法错误)
调试器:应用广泛的gdb(发现逻辑错误)
函数库:glibc
系统头文件:glibc_header,文本文件,后缀(.h)
安装注意:
安装Linux时需要选上“程序开发”中的“开发工具”,就可以自动安装gcc/gdb
若想开发图形界面,还得选上GNOME(C语音)/KDE(C++语言)软件开发
IDE集成开发环境(编辑器+编译器+调试器)
Kylix:号称Linux下的dephi
Kdevelop
RHIDE:类似Turbo C++
GNU的gcc编译器
gcc编译器能将C、C++语言源程序编译、连接成可执行文件。
以下是gcc支持编译的一些源文件的后缀及其解释
.c,C语言源代码文件
.h,头文件
.o,编译后的目标文件(中间文件)
编译过程
gcc –o hello hello.c
hello.c是源程序文件
-o选项要求编译器给我们输出的可执行文件名为hello(没有的话产生的名字都是一样的a.out)
-c选项表示我们只要求编译器输出目标代码(.o中间文件),不必输出可执行文件
-g表示要求编译器在编译的时候提供我们以后对程序进行调试的信息
执行./hello就可以得到程序的结果
glibc函数库
glibc的两种安装方式:
安装成测试用的函数库:在编译程序时用不同的选项来试用新的函数库(适用于不稳定的函数库)
安装成主要的C函数库:所有新编译程序均用的函数库(适用于稳定的函数库)
glibc是系统调用和基本函数的C库,比如open,malloc,printf等,所有动态链接的程序都要用到它。
glibc_header系统头文件
若系统缺少头文件,通过rpm包来迅速安装Linux的C开发环境,主要的包有
rpm –ivh …(包名)[cpp,binutils,glibc,glibc-kernheaders,glibc-common,glibc-devel,gcc,make]
查看glibc的版本:ls /lib/libc-*
查看gcc版本号:gcc--version
Linux下C程序开发过程
-
用VI等编辑工具编写源程序
-
保存为*.c
-
使用gcc编译成二进制可执行文件
-
./a.out执行(没有-o)
-
有问题可以使用gdb进行调试
C程序结构
由函数构成,至少且只有一个main函数;main函数是程序入口点,执行程序时第一个执行函数。对于一个C程序,分成三个组成:可执行文件,包含文件,库文件。只有系统可以找到程序对应的包含文件和库文件,可执行文件才能正常执行
例如, MySQL 数据库:可执行文件放在 /usr/bin 下,包含文件放在 /usr/include/mysql 下,库文件在 /usr/lib/mysql 下