欢迎来到天天文库
浏览记录
ID:41567085
大小:59.42 KB
页数:5页
时间:2019-08-27
《Linux下的C语言编程-基础知识》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Linux下的C语言编程一基础知识篇这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将会学到以下内容:源程序编译Makefile的编写程序库的链接程序的调试头文件和系统求助1・源程序的编译在Linux下面,如來耍编译一个C语言源程序,我们耍使用GNU的gcc编译器.下而我们以一个实例来说明如何使用gcc编译器.假设我们有下而一个非常简单的源程序(hello,c):intmain(intargc,char**argv){printf("HelloLinux");}要编译这个程序,我们只要在命令行下执行:gcc-ohellohello.cgcc编译器就会为我
2、们生成一个hello的可执行文件.执行./hello就可以看到程序的输出结果了.命令行中gcc表示我们是用gcc來编译我们的源程序,-。选项表示我们要求编译器给我们输出的可执行文件名为hello而hello,c是我们的源程序文件.gcc编译器有许多选项,一般來说我们只要知道其屮的几个就够了.-o选项我们已经知道T,表示我们要求输出的可执行文件名.-c选项表示我们只要求编译器输出目标代码,而不必要输出可执行文件.飞选项表示我们要求编译器在编译的时候提供我们以后对程序进行调试的信息.知道了这三个选项,我们就可以编译我们白己所写的简单的源程序了,如果你想要知道更多的选项,可以查看gcc的帮助文
3、档,那里有着许多对其它选项的详细说明.2.Makefile的编写假设我们冇下面这样的一个程序,源代码如F:/*main・c*/^include"mytooll.h"^include"mytool2・h〃intmain(intargc,char**argv){mytooll_print(z/hello/z);mytool2_print(''hello,z);}/*mytooll.h*/#ifndef„MYTOOL_1H^define_MYTOOL_1JIvoidmytool1print(char*printstr);#endif/*mytooll.c*/^include"mytooll.h
4、"voidmytooll_print(char*print_str){printf("'Thisismytoollprint%s",print_str);}/*mytool2.h*/#ifndef_MYT00L_2JI^defineMYTOOL2Hvoidmytool2_print(char*print_str);#endif/*mytool2.c*/^include"mytool2.h"voidmytool2print(char*printstr){printfC'Thisismytool2printprint_str);}当然由于这个程序是很短的我们可以这样来编译gcc-cma
5、in,cgcc-cmytooll.cgcc~cmytool2・cgcc-omainmain.omytooll.omytool2・o这样的话我们也可以产生main程序,而且也不时很麻烦•但是如果我们考虑一下如果有一天我们修改了其中的一个文件(比如说mytooll.c)那么我们难道还耍重新输入上面的命令?也许你会说,这个很容易解决啊,我写一个SHELL脚本,让她帮我去完成不就可以了.是的对于这个程序來说,是对以起到作用的.但是当我们把事情想的更复杂一点,如果我们的程序有几百个源程序的时候,难道也要编译器重新一个一个的去编译?为此,聪明的程序员们想出了一个很好的工具來做这件事情,这就是make
6、.我们只耍执行以下make,就可以把上面的问题解决掉.在我们执行make之前,我们要先编写一个非常重要的文件.--Makefile.对于上面的那个程序來说,能的-个Makefile的文件是:#这是上血那个程序的Makefile文件main:main.omytooll.omytool2・ogcc一omainmain.omytooll.omytool2・omain.o:mairuemytooll.hmytool2・hgcc-cmain,cmytooll.o:mytooll.cmytoo11.hgcc-cmytooll・cmytool2.o:mytool2・cmytool2・hgcc-cmyt
7、ool2
此文档下载收益归作者所有