Linux操作系统应用导学20131126.pps_第1页
Linux操作系统应用导学20131126.pps_第2页
Linux操作系统应用导学20131126.pps_第3页
Linux操作系统应用导学20131126.pps_第4页
Linux操作系统应用导学20131126.pps_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

20131126,Follow me!,作业讲评,4.3执行shell脚本的方式主要是哪些? 要点:bash输入重定向;脚本名作为bash参数;权限设为可执行文件。 4.4 将主提示符改为用户的主目录名 PS1=“$HOME“ 4.5 说明三种引号的作用有什么区别 要点:双引号普通显示字符;单引号都作为普通字符;倒引号命令替换。,5.3什么是进程?什么是线程?Linux系统中的进程有哪些状态?如何获取系统中各进程的状态 ? 1)要点:进程是一个动态概念,程序的一次运行活动,是系统中的动态实体,是系统分配各种资源、进行调度的基本单位。 2)要点:进程中指令的不同执行路线。 3) 就绪、阻塞、运行; 4)”如何获取系统中各进程的状态 ?“此题不做要求,超出所教范畴, 但可以回答 “使用ps命令”或“在windows下打开任务管理器”,5.8Linux系统一般采用哪种文件系统? ext, ext2 ,ext3,ext4 掌握主要使用的是ext2,ext3 5.14何谓虚拟存储器 ,Linux系统如何支持虚存? 要点:逻辑地址空间;4G寻址范围;请求页面;交换分区 参考教材5.4.1和5.4.2以及上课PPT,自行总结。,编写一个shell脚本,判断所给参数是否为一个目录。 如果目录存在,就列出目录内的子目录和文件,否则就现在“该目录不存在!” 解:复习上次课的PPT第一季中的16、17页,查阅教材表4.4找到哪个参数是判断是不是目录的。 在PPT16页里脚本中作修改,把原来判断 是不是一个文件(用 f )改成判断是不是一个目录(用 d ) 并修改echo 后的相应的显示信息。 列出目录内的子目录和文件,用ls l 即可。,订正作业时间,修改和重新运行脚本。 适当的记录。 思考题的要点记录和在书上作标记。,CH6,Linux给我们的远远不止是命令行输入命令来操作,也远远不是在鼠标界面下推箱子和玩方块。 除了鼠标图形界面和命令行交互(SHELL脚本可以看成是命令行的优化集成), 还有第3种使用方式-编程方式。 通过编写程序来使用Linux是最高效、最直接的方式。 编程,是驾驭任何一个操作系统的终极魔 法,在windows下也是一样。Lets go!,Linux是一个优秀的编写应用程序的平台。 我们以后学习嵌入式系统的开发就要用到。切记! 首先来学习Linux提供的开发编程工具。,6.1gcc,Linux由C语言编写出来,所以在Linux下编程首选C语言。 首先学习编程过程中的一些文件的文件类型(表6.1),掌握.c、.i、.h、.s、.o,gcc是一个编译系统,把写好的源程序编译成可执行程序的过程如图6.1 注意,我们熟悉的语法错误检查中编译阶段执行。 复习预处理的概念。 练习:在图6.1上把.c、.i、.s、.o标记在产生它的阶段上。,.c,.i,.s,.o,实践:编写一个完整的简单C语言源程序文件,内容童鞋们自定。学习gcc的-E和-o用法,见表6.2. 视频演示中 gcc -E test1.c 预处理,结果显示在屏幕上; gcc -E test1.c -o test1.i 把预处理结果写入test1.i 内。,运用 gcc S 生成汇编语言文件 .s ,见表6.3,查看汇编文件内容。,gcc c 命令生成目标文件.o ,见表6.3 gcc test1.o o test1 ,链接、生成执行文件test1 设置好环境变量PATH后可以直接运行test1.,至此,gcc编译系统的各步骤及各步骤生成的文件,文件的内容,都应该掌握了。,6.2 gdb程序调试工具,程序中的错误可按性质分为三种: (1)编译错误,即语法错误。 (2)运行错误。 (3)逻辑错误。 查找程序中的错误,诊断其准确位置,并予以改正,这就是程序调试。 程序调试分为人工查错与机器调试。 本节只要求掌握gdb是什么,有什么功能。,6.3 程序维护工具make,一个软件交付用户使用后,还要进行长期的维护工作。 维护包括修改、升级、添加新功能等等。 一个软件中包含的程序文件、数据文件非常多,维护一次就要执行大量的gcc命令,效率非常低。 make就是用来高效率地完成维护工作的。,make是一个命令,它负责执行一个文本文件makefile makefile 里面写的都是规则,编译的规则。 示例: 先写两个有关联的.c文件,a.c和b.c 再写一个简单的makefile文件并运行。 修改a.c,再运行makefile观察执行过程的不同。,先看这个makefile文件: prog: a.o b.o /prog是最终的可执行文件,由a.o b.o 两个目标文件链接而成。 gcc a.o b.o -o prog /执行这个gcc命令可以生成 prog文件。gcc可以对两个.o文件一起操作。 a.o:a.c /a.o文件由a.c生成。 gcc -c a.c /执行这个gcc命令,从a.c直接生成a.o文件 b.o:b.c gcc -c b.c /同上,不解释。 clean: rm *.o /clean段落,删除所有的.o目标文件。,视频演示中的这些文件均已编写好,所以用cat命令展示,童鞋们需要用vi自己写。 a.c 和 b.c 是相互关联的。 编写makefile时切记注意,每一个gcc命令行必须用TAB开头,gcc命令行的文字颜色是酱紫色时才表示书写正确! 参见P200 倒数第二行!,下面运行makefile文件,只要输入命令make即可,会自动搜索当前目录下的makefile。屏幕会显示执行过程。记下执行过程!(很重要!),生成的prog文件可以直接运行,前提是已设置好PATH环境变量。PATH设置一次即可。,下面,再次执行make看看,有什么后果?,接下来对a.c做一个小的修改,b.c不动。 然后执行make,仔细观察执行过程,和前面的过程比较,看有什么不同? (很重要!),结论: 当a.c,b.c都编写好,执行make,两个源文件都被编译(都执行了gcc命令行)。 当a.c,b.c没有修改过,执行make,显示“prog是最新的”,即不做任何更新,不做任何操作(不执行gcc命令行)。 当只有a.c修改过,执行make,只做a.c 的编译,再把a.o和原有的b.o链接生成新的prog。b.c文件不做编译。,大家想一想, make这么做,是不是“有选择地”完成软件版本的更新? 当一个软件有成百上千的文件时,这样做的效率是不是非常高? 参阅并标注P199: “程序维护往往是一个。”段落67行; “make的主要功能是,。”段落第一句。,makefile文件的格式 P200 倒数第二段。 每一个“:”段落就是一条规则。 加深实践: 阅读并理解P200 例6.1及后面的第一个段落。(灰常重要!),难点释疑: 第二行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论