一、Linux下C语言编程环境
编辑器、编译链接器、调试器及 项目管理工具。
1、编辑器
- vi
- emacs
2、编译链接器
- gcc
3、调试器
- gdb
4、项目管理器
- make
二、编辑器
- 行编辑器(Ed、Ex)
- 全屏幕编辑器(vi、emacs)
三、vi编辑器
vi 是 Linux 系统的第一个全屏幕交互式编辑程序.
vi 有 3 种模式,分别为命令行模式、插入模式及命令行模式。
(1)命令行模式。 用户在用 vi 编辑文件时,初进入的为一般模式。在该模式中用户可以通过上下移动光标进行“删除字符” 或“整行删除”等操作,也可以进行“复制”、“粘贴”等操作,但无法编辑文字。
(2)插入模式。 只有在该模式下,用户才能进行文字编辑输入,用户按[ESC]可键回到命令行模式。
(3)底行模式。 在该模式下,光标位于屏幕的底行。用户可以进行文件保存或退出操作,也可以设置编辑环境,如寻找字 符串、列出行号等。
四、emacs编辑器
- emacs 只有一种模式,也就是编辑模式,而且它的命令全靠功能键完成。
- emacs 却还使用一个不同 vi 的“模式”,它的“模式”是指各种辅助环境。比如,当编辑普通文本时,使用的是“文本模式(Text Mode)”,而当写程序时,使用的则是如“c 模式”、“shell 模式”等。
五、gcc编译器
gcc编译过程:
E S C o
六、函数库
要将一些常用的公共函数编译并集成到二进制文件(Linux 的 ELF 格式文件),以便其他程序可重 复地使用该文件中的函数,此时将这种文件叫做函数库,使用函数库不仅能够节省很多内存和存储器的空间资 源,而且更重要的是大大降低开发难度和开销,提高开发效率并增强程序的结构性。
- 静态库
静态库是一系列的目标文件(.o 文件)的归档文件(文件名格式为 libname.a),如果在编译某个程序时链接静态库,则链接器将会搜索静态库,从中提取出它所需要的目标 文件并直接复制到该程序的可执行二进制文件(ELF 格式文件)之中; - 动态库
动态库在程序编译时并不会被链接到目标代码中,而是在程序运行时才被载入。
七、gdb调试器
gdb 进行调试的是可执行文件,而不是如“.c”的源代码。