linux软件工程师C语言实用教程》第1章.ppt
《linux软件工程师C语言实用教程》第1章.ppt》由会员分享,可在线阅读,更多相关《linux软件工程师C语言实用教程》第1章.ppt(38页珍藏版)》请在三一办公上搜索。
1、第 1 章,Linux系统程序设计基础,2,本章重点,编辑、编译及运行Linux c程序gcc编译器的使用gdb调试器的使用,3,1.1 第一个Linux c程序,例1-1:设计一个程序,要求在屏幕上输出“这是第一个Linux c程序!”。步骤 1:设计编辑源程序代码使用文本编辑器vim,在终端中输出:rootlocalhost root#vim 1-1.c,输入完成后存盘:按ESC键输入“:wq”回车,4,1.1 第一个Linux c程序,步骤 2:编译程序查看当前目录下是否有1-1.c文件,输入命令:rootlocalhost root#ls 1-1.c编译:rootlocalhost r
2、oot#gcc 1-1.c-o 1-1rootlocalhost root#步骤 3:运行程序rootlocalhost root#ls1-1.c 1-1rootlocalhost root#./1-1这是第一个Linux c程序!,5,1.1 第一个Linux c程序,Linux下的文本编辑器软件主要有vim、gedit和Emacs,Linux下的c编译器中,gcc是功能最强大、使用最广泛的软件。gcc编译的常用格式为:gcc C源文件-o 目标文件名或:gcc-o 目标文件名 C源文件 或:gcc 目标文件名 最后一种情况目标文件名默认为:c.out,6,1.1 第一个Linux c程序,
3、printf函数说明,思考题:设计一个程序,要求在屏幕上输出:*,7,1.2 gcc编译器,gcc是(GNU Cmpiler Collection的简称),它是GNU项目中符合ANSI C标准的编译系统,能够编译用C、C+和Object C等语言编写的程序。gcc不仅功能十分强大,结构也异常灵活。它可以通过不同的前端模块来支持各种语言,如Java、Fortran、Pascal、Modula-3和Ada等。gcc是可以在多种硬体平台上编译出可执行程序的超级编译器,其执行效率与一般的编译器相比,平均效率要高20%30%。gcc支持编译的后缀名:,8,1.2.1 使用gcc,gcc指令的一般格式为:
4、gcc 参数 要编译的文件 参数 目标文件例1-2:设计一个程序,要求把输入的百分制的成绩转换成五级制输出。即输入成绩大于等于90分,显示“优秀”;若成绩介于8090分,显示“良好”;若成绩介于7080分,显示“中等”;若成绩介于6070分,显示“及格”;若成绩小于60分,显示“不及格”。,9,1.2.1 使用gcc,步骤 1:编辑源程序代码 rootlocalhost root#vim 1-2.c,10,1.2.1 使用gcc,步骤 2:用gcc编译程序rootlocalhost root#gcc 1-2.c o 1-2步骤 3:运行程序rootlocalhost root#./1-2,思考
5、题:设计一个程序,要求输入一个数,如果此数大于0,显示“输入的为正数”,否则显示“输入的为负数”。,11,1.2.2 gcc编译流程,12,1.2.2 gcc编译流程,例1-3:设计一个程序,要求输入两个整数,求和输出。通过使用gcc的参数,控制gcc的编译过程,了解gcc的编译过程,进一步认识gcc的灵活性。步骤 1:编辑源程序代码rootlocalhost root#vim 1-3.c,13,1.2.2 gcc编译流程,步骤 2:预处理阶段rootlocalhost root#gcc 1-3.c o 1-3.i Erootlocalhost root#vim 1-3.i步骤 3:编译阶段r
6、ootlocalhost root#gcc 1-3.i o 1-3.s rootlocalhost root#vim 1-3.s步骤 4:汇编阶段rootlocalhost root#gcc 1-3.s o 1-3.o c,14,1.2.2 gcc编译流程,步骤 5:链接阶段Linux系统把printf和scanf函数的实现,都放在了的库文件中。在没有参数指定时,gcc到系统默认的路径“/usr/lib”下查找,链接到库函数中去,这样就有了printf和scanf函数的实现部分。把程序中一些函数的实现,这是链接阶段的工作。完成链接后,gcc就可以生成可执行程序文件,注意:gcc在编译的时候默认
7、使用动态链接库,编译链接时并不把库文件的代码加入到可执行文件中,而是在程序执行的时候动态加载链接库,这样可以节省系统开销。,15,1.2.2 gcc编译流程,scanf函数说明,16,1.2.3 gcc编译器的主要参数,1.总体参数,当头文件与gcc不在同一目录下要用-I dir编译,它是指头文件,而添加库文件时需用-L dir参数。,17,1.2.3 gcc编译器的主要参数,例1-4:设计一个程序,要求把输入的字符串原样输出,程序中的头文件自己定义,源程序文件为“1-4.c”,自定义的头文件为“my.h”,放在目录“/root”下。步骤 1:设计编辑源程序代码1-4.crootlocalho
8、st root#vim 1-4.c,18,1.2.3 gcc编译器的主要参数,步骤 2:设计编辑自定义的头文件my.hrootlocalhost root#vim my.h,步骤 3:正常编译1-4.c文件:rootlocalhost root#gcc 1-4.c o 1-4编译器提示出错。,步骤 4:加“-I dir”参数编译:rootlocalhost root#gcc 1-4.c o 1-4 I/root,注意:在include语句中,“”表示在默认路径“/usr/include”中搜索头文件,引号“”表示在本目录中搜索。因此,前面例子中把1-3.c中的“#include”改成“#inc
9、lude“my.h”,就不需要“-I dir”参数也能正确编译了。,19,1.2.3 gcc编译器的主要参数,getchar函数说明,putchar函数说明,思考题:此例能不能用前面的printf函数和scanf函数?如果可以,要如何改写程序?,20,1.2.3 gcc编译器的主要参数,例1-5:有程序1-5.c用到目录“/root/lib”下的一个动态库libsunq.so。rootlocalhost root#gcc 1-5.c o 1-5.c L/root/lib lsunqLinux下的库文件命名时有一个规定:必须以l、i、b三个字母开头,因此,在用“-l”指定链接库文件时可以省去l、
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- linux 软件工程师 语言 实用教程
链接地址:https://www.31ppt.com/p-5438162.html