版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Linux 下程序设计基础,张其亮 Email:,Linux 程序设计,编辑器的使用 编译器的使用 调试的方法,编辑器的使用,Vim编辑器 Vim是Linux最基本的文本编辑工具。用户如果使用vi进行编辑,可以在系统提示符下输入: 如果文件名存在则打开文件,否则建立一个新的文本文件,userlinux $ vi file,Vim编辑器的使用,Vim编辑器的工作模式 编辑模式 插入模式 命令模式,Vim编辑器的使用,Vim编辑器的使用,编辑模式 移动光标、删除文字、复制或粘贴文字 。 不能编辑文本,Vim编辑器的使用,编辑模式下常用命令,Vim编辑器的使用,插入模式: 插入模式下用户可以对文件进
2、行输入。,Vim编辑器的使用,命令模式 在编辑模式下键入“:”,光标就跳到屏幕最后一行,并在那里显示冒号,此时已进入命令模式,Vim编辑器的使用,命令模式下常用命令,其它编辑器 Regdit,Linux下编译器,在为Linux开发应用程序时,绝大多数情况下使用的都是C语言,因此几乎每一位Linux程序员面临的首要问题都是如何灵活运用C编译器.目前Linux下最常用的C语言编译器是GCC。,Gcc编译器,编译过程: 1.预处理分析命令及语法 2.将预处理后的文件转换成汇编语言 3.由汇编变为目标代码(机器代码)生成.o的文件 4.连接目标代码,生成可执行程序,Gcc编译器,Gcc编译选项解析,g
3、cc option | file ,Gcc编译器,常用option: -c 选项:告诉gcc仅把源程序编译为目标代码而并不做链接工作 *只生成test.o文件,而不生成可执行文件,gcc -c test.c,Gcc编译器,-S选项只激活预处理和编译,就是指把文件编译成为汇编代码。 -v选项 显示正在使用的gcc版本信息 -o选项:默认情况下,在gcc没有指定编译选项的情况下会在当前目录生成一个名为a.out的可执行程序。,gcc test.c a.out,Gcc编译器,为了指定生成的可执行文件名采用-o选项。 *-o选项后必须带有可执行的文件的文件名,gcc o test test.c tes
4、t,Gcc编译器,static选项:此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么动态连接库就可以运行. g选项:在可执行文件中输出调试信息,通常是为调试器gdb所用 Idir选项:指定库以及头文件搜索路径,gcc I/home/chen/include o foo foo.c,Gcc编译器,Ldir选项:指定在目录中需要搜索的库(动态库.so 和静态库.a),gcc foo.c L/home/chen/lib lfoo o foo,Gcc编译器,-w选项:禁止输出警告信息 -Wall选项:显示所有的警告信息 -O选项:减小代码的长度和执行时间,Gcc编译器,示例源程序
5、hello.c #include int main(void) printf(hello gcc!rn); return 0; ,Gcc编译器,gcc o hello hello.c ./hellohello gcc!,Gcc编译器,多文件情况:,Gcc编译器,gcc o my_app my_app.c functions/greeting.c -I function,Gdb调试器,应用程序的调试是开发过程中必不可少的环节之一。Linux下GNU的调试器称之为GDB。 GDB调试的是可执行文件而不是源程序。 在用gdb调试之前,必须使用带有-g编译选项的gcc命令来编译源程序。,Gdb调试器,Gdb命令语法: gdb options filename Gdb使用 gdb myprogram break 在代码里设置断点, 这将使程序执行到这里停止. break 6 run 执行当前被调试的程序,可执行文件,Gdb调试器,next 执行一行源代码但不进入函数内部. step 执行一行源代码而且进入函数内部. quit 终止 gdb watch 使你能监视一个变量的值而不管它何时被改变. display命令:在应用程序每次停止运行时显示表达式的值。 kill 终止正在调试的程序. list 列出产生执行文件的源代
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽车横摆力矩与差动助力转向的可拓协调控制策略研究
- 2025年医疗用毒性药品管理考试真题及答案解析
- 商品房买卖尾款结清协议
- 黑龙江大庆市2026届高三高考第三次教学质量检测英语试卷
- 蛋白纯化工艺调试技师考试试卷及答案
- 超滤水处理技术工程师考试试卷及答案
- 图书借阅制度(多篇)
- 2025年酒店管理师考试真题及答案
- 2025年省培计划考试真题及答案
- 2025年红十字会财务考试真题及答案
- 2026江西省福利彩票发行中心及市级销售机构招聘编外人员14人建设考试参考试题及答案解析
- 福建省2026届高中毕业班适应性练习(省质检)语文试卷
- 室外综合管网施工方案(含给水、热力、排水)
- 土工击实自动生成系统
- 2026届陕西省宝鸡市高三下学期二模历史试题(含答案)
- 2026广东广州市海珠区南石头街招聘雇员3人备考题库附答案详解ab卷
- 2026春人教版(新教材)小学美术二年级下册《不息的生命》教学课件
- 房地产市场宏观调控下经济法律纠纷的多元化解与规则重塑
- 我国民间借贷法律困境及化解路径探究
- 寺院厨房卫生制度
- (2025年)(新版)矿井通风操作工职业技能竞赛考试题(附答案)
评论
0/150
提交评论