编程需要很多的开发工具,简单的程序也许只要编辑工具和编译工具就可以了,复杂的程序需要更多的工具辅助。下面简单介绍一些常用的嵌入式Linux C开发工具。
简单来说,编辑工具就是输入代码的工具,在Linux系统中编程时,既可以使用Vi编辑器或Vim编辑器来编辑代码,也可以使用更加高级的JOE、Emacs等。
编译是指将编辑好的代码转换为计算机可以识别语言的过程,因此可以将编译工具视为一个翻译器。gcc(GNU Compiler Collection,GNU编译器套件)编译器是最常见的编译工具之一,它支持C、C++、Java、Pascal、Fortran、COBOL等语言。gcc编译器是通过在命令行中执行一长串的命令(参数比较复杂)来进行编译的。例如,“hello.c -o hello”的作用是将hello.c编译为hello,并且,还需要为编译后的hello文件赋予可执行的权限,这样才能完成整个编译工作。
GDB是GNU开源组织发布的UNIX系统和Linux系统下的一个功能强大的调试工具。如果在Linux系统下编写程序,就会发现GDB这个调试工具比图形化调试器有更加强大的功能。
一个大型软件是由多个源程序组成的,是先编译这个源程序,还是先编译那个源程序,即编译的安排,称为构建(Build)。为了能够按照顺序高效地完成编译,Linux系统提供了make工具,可用于大型软件的编译,并在编译前根据机器的当前状态进行相应的配置。
Linux系统提供了优秀的GNU C函数库(GNU C Library,简称为Glibc,包含文件的打开/关闭、读写,以及字符串操作等)、C标准函数库(C Standard Library,简称为libc,包含字符串输入/输出等)、GTK函数库(GNOME ToolKit,简称为GTK,Linux系统的桌面GNOME就是基于GTK库开发的)、Qt函数库等工具包,这些工具包可以帮助开发者更加高效地编写程序。
项目管理是指对源代码的管理。当源代码经过多次修改后,开发者很难记得每次修改的内容,因此需要项目管理工具。常见的项目管理工具有CVS、SVN和Git等,现在最常用的是Git。
作为一个开源的系统,Linux系统同时提供了大量的开源软件,这些软件不仅可免费使用,而且源程序也是开放的,通过研究这些优秀的代码可以提高自己的编程能力。