版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026湖南郴州市中医医院见习生招聘76人考试参考题库及答案详解
- 关于2026年项目合作费用分配确认函(5篇范文)
- NIBS北京生命科学研究所杜立林实验室招聘科研助理考试备考题库及答案详解
- 2026年七台河市桃山区事业单位人员招聘考试备考题库及答案详解
- 2026年太原市小店区事业单位人员招聘考试备考题库及答案详解
- 会议组织安排及日程调整函(3篇)
- 2026年自贡市沿滩区事业单位人员招聘笔试模拟试题及答案详解
- 2026年日喀则地区日喀则市事业单位人员招聘笔试参考试题及答案详解
- 2026-2027学年广东省黄埔区广附八年级物理第一学期期末达标检测模拟试题含解析
- 香港中文大学(深圳)《矿山工程经济》2026-2027学年第一学期期末试卷含解析
- 2026-2030中国等离子刀市场需求发展前景及投资风险研究报告
- 2025年6月21日上海市直遴选笔试真题及答案解析
- 统编版高中政治选择性必修3《逻辑与思维》期末综合测试卷(含答案解析)
- PLC技术应用课件:花式喷泉控制
- 《血糖的监测与护理》课件
- 班组退场协议书模版
- 全文版曼娜回忆录
- 大学英语学习通章节答案期末考试题库2023年
- 七年级新生入学分班考试数学试卷
- 进入有限空间作业工作票
- 颅脑CT阅片课件
评论
0/150
提交评论