Linux下C程序开发环境笔记
2014-08-12 12:53
239 查看
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++
4000
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下
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++
4000
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下
相关文章推荐
- 笔记一 Linux下C程序开发环境
- Linux程序应用开发环境和工具经验谈
- 【嵌入式Linux学习七步曲之第二篇 ARM+Linux开发环境】在AT91RM9200上通过nfs调试linux程序
- [Linux]在Linux上部署Java开发环境笔记(一)-- 补充:Linux下如何手动设置IP及配置DNS服务
- Linux及ARM Linux程序开发笔记(零基础入门篇)1
- 我开发Linux服务程序的工作环境搭配
- Linux程序应用开发环境和工具经验谈
- 我开发Linux服务程序的工作环境搭配 推荐
- Linux及Arm-Linux程序开发笔记(零基础入门篇)
- [Linux]在Linux上部署Java开发环境笔记(三)-- 补充:Linux中安装Oracle10g(标准版)
- [Linux]在Linux上部署Java开发环境笔记(二):Linux中安装JDK6.0
- Linux程序应用开发环境和工具经验谈
- 在Redhat9 Linux下安装java开发环境,并编写“Hello world”程序
- GNU/Linux平台的C程序开发及程序运行环境
- [Linux]在Linux上部署Java开发环境笔记(五):Linux中安装MySQL
- Linux/Unix环境下程序开发参考书全集下载
- Linux网管笔记(18):对Linux系统下的开发环境梳理
- GNU/Linux平台的C程序开发及程序运行环境
- Android开发学习笔记(三)——基于Eclipse开发环境的搭建及HelloAndroid示例程序的创建
- 一步一步建立linux交叉编译开发环境(学习笔记)