linux下c编程基础

linux下c编程基础

ID:22583394

大小:444.85 KB

页数:41页

时间:2018-10-30

linux下c编程基础_第1页
linux下c编程基础_第2页
linux下c编程基础_第3页
linux下c编程基础_第4页
linux下c编程基础_第5页
资源描述:

《linux下c编程基础》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、Linux下C语言编程一基础知识-Sue-—1—前g:这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当屮,我们将会学到以下内容:源程序编译Makefile的编写程序库的链接程序的调试头文件和系统求助1.源程序的编译在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器.下面我们以一个实例來说明如何使用gcc编译器.假设我们有下而一个非常简单的源程序(hello,c):intmain(intarge,char木本argv){printf(〃HelloIJnux〃);}要编

2、译这个程序,我们只要在命令行下执行:gcc-ohellohello,cgcc编译器就会为我们生成一个hello的可执行文件.执行./hello就可以看到程序的输出结果了.命令行中gcc表示我们是用gcc来编译我们的源程序选项表示我们要求编译器给我们输出的可执行文件名为hello而hello,c是我们的源程序文件.gcc编译器有许多选项,一般来说我们只要知道其中的儿个就够了.-o选项我们已经知道了,表示我们要求输出的可执行文件名.-c选项表示我们只要求编译器输山目标代码,而不必要输出可执行文件.选项表示我们要求编译器在

3、编译的时候提供我们以后对程序进行调试的信息.知道了这三个选项,我们就可以编译我们自己所写的简单的源程序了,如果你想要知道更多的选项,可以查看gcc的帮助文档,那里有着许多对其它选项的详细说明.2.Makefile的编写假设我们有下面这样的一个程序,源代码如下:/*main,c*/#include"inytooll.h"#include"myt()()12.h"intmain(intarge,char氺氺argv)mytooll_print("hello");mytool2print(〃hello〃);/*mytool

4、l.h*/#ifndef_MYT00L_l_H#defineMYTOOL1Hvoidmytooll_print(char氺printstr);#endif/氺mytool1.c*/#include"mytooll.h"voidmytool1print(char本print_str){printf(〃Thisismytool1print%s〃,printstr);/本mytool2.h*/#ifndef_MYT00L_2JI#defineMYTOOL2Hvoidmytool2_print(char氺printstr

5、);#endif/氺mytool2.c*/#include"myto()12.h"voidmytool2_print(char本print_str){printf(〃Thisismytoo!2print%s〃,printstr);当然由T这个程序是很短的我们付以这样来编译gcc-cmain,cgcc-cmytooll.cgcc-cmytool2.cgcc—omainmain,omytooll.omytoo!2.o这样的话我们也可以产生main程序,而且也不时很麻烦.但是如果我们考虑一K如果有一天我们修改了某屮的一

6、个文件(比如说mytooll.c)那么我们难道还要重新输入上而的命令?也许你会说,这个很容易解决啊,我写一个SHELL脚本,让她帮我去完成不就可以了.是的对于这个程序来说,是可以起到作用的.但是当我们把事情想的更复杂一点,如果我们的程序有几百个源程序的时候,难道也要编译器重新一个一个的去编译?为此,聪明的程序员们想出了一个很好的工具来做这件事情,这就是make.我们只要执行以下make,就可以把上面的问题解决掉.在我们执行make之前,我们要先编写一个非常重要的文件.一Makefile.对于上面的那个程序来说,可能的

7、一个Makefile的文件是:#这是上面那个程序的Makefile文件main:main,omytool1•omytool2.ogcc-omainmain,omytool1.omytool2.omain.o:main.cmytool1.hmytool2.hgcc一cmain,cmytool1.o:mytool1.cmytool1.hgcc-cmytoolLcmytool2.o:mytool2.cmytool2.hgcc-cmytool2.c有了这个Makefile文件,不过我们什么时候修改了源程序当中的什么文件,我们

8、只要执行make命令,我们的编译器都只会去编译和我们修改的文件有关的文件,其它的文件她连理都不想去理的.下面我们学习Makefile是如何编写的.在Makefile中也#开始的行都是注释行.Makefile中®重要的是描述文件的依赖关系的说明.一般的格式是:target:componentsTABrule第一行表示的是依赖关系.第二行是规则.比

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。