C语言和Linux操作系统之间的关系非常密切.早在1977年,贝尔实验室的Dennis Ritchie就为了辅助开发UNIX而发表了不依赖与具体机器系统的C语言编译文本,即著名的ANSI C 从那时候起,C就成为世界上使用最广泛计算机语言.
在LINUX下,一般使用GNU C编译器(GCC)进行应用程序的编译.该编译器建立在自由软件基金会编译许可证的基础上,可以自由发布.GNU C编译器(GCC)是一款功能强大的ANSI C兼容编译器,一般存放在/usr/bin目录下;其头文件一般存放在/usr/include及其下级子目录里;而标准的库文件则存在/lib或/usr/lib目录下里.Gcc命令的基本用法如下所示:
Gcc [option] [filename]
Make是一个命令工具,它读入Makefile的指令并按照其制定的规则执行.Makefile文件中描述整个工程所有文件的编译顺序、编译规则,并且拥有自己的书写格式、关键字和函数;在Makefile中可以使用系统shell所提供的任何命令来完成想要的工作,因此能够大大提高编译程序的效率.通过其自动化编译的规则,只需要一个make命令,整个工程就可以自动完成全部编译工作,因此在IDE开发环境中得到广泛应用,已经成为一种工程方面的编译方法.
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Makefile介绍
默认情况下,GNU make工具在当前工作目录中按如下顺序搜索makefile:
GNUmakefileàmakefileàMakefile
虽然Makefile作为规则的优先等级较低,不过Makefile的首字母大写,因此在当前目录下会优先显示,程序员往往会采用Makefile作为makefile 文件.如果要使用其他文件作为makefile,则可采用以下方式:
$make-f Makefile debug
Makefile的基本结构如下:
Target:dependency dependency
(tar) <command>
它包含target、dependency和command三个部分.具体如下所示:
一个目标(target):最终需要创建的文件,包括可执行文件或者目标驱动文件等.当然目标也可以是需要执行的动作,如:“clean”等.
一个或多个依赖文件(dependency):在创建target是需要用到的文件列表.
一系列命令(command):make执行的动作,即创建target时需要执行的步骤.通常是把制定文件编译成目标文件的编译命令,每个命令占一行,且每个命令的起始字符为TAB字符.
编译的具体过程是:make工具读取makefile中的规则,然后检查该规则中的依赖文件与目标文件的时间截哪个更新一些,并根据规则链由下至上依次编译过程,直到最终的可执行文件被重新连接完成为止.minicom中建立开发板与宿主机之间 的通信
[root@EmbedSky /]# mount -t nfs -o nolock 192.168.1.10:/arm2410s /host
(2)运行程序
呵呵,如果看到在超级终端输出hello world! .恭喜你!你已经成功了. |