vim -r filename vim -R filename
更多用法见 info vi。
在系统崩溃之后恢复filename文件 以只读方式编辑filename文件
vim 下程序录入过程:
①$ vim aaa.c ↙ 进入vim命令模式
② i ↙ 进入输入模式输入 C源程序(或文本) ③ ESC ↙ 回到命令模式
④ ZZ ↙ 保存文件并推出vim
⑤ CAT aaa.c ↙ 显示aaa.c 文件内容 七、熟悉gcc编译器
GNU/Linux中通常使用的C编译器是GNU gcc。编译器把源程序编译生成目标代码的任务分为以下4步:
a. 预处理,把预处理命令扫描处理完毕;
b. 编译,把预处理后的结果编译成汇编或者目标模块;
c. 汇编,把编译出来的结果汇编成具体CPU上的目标代码模块; d. 连接,把多个目标代码模块连接生成一个大的目标模块;
1.使用语法:
gcc [ option | filename ]...
其中 option 为 gcc 使用时的选项,而 filename 为 gcc要处理的文件。 2.GCC选项
GCC的选项有很多类,这类选项控制着GCC程序的运行,以达到特定的编译目的。
⑴全局选项(OVERALL OPTIONS)
全局开关用来控制在“GCC功能介绍”中的GCC的4个步骤的运行,在缺省的情况下,这4个步骤都是要执行的,但是当给定一些全局开关后,这些步骤就会在 某一步停止执行,这产生中间结果,例如可能你只是需要中间生成的预处理的结果或者是汇编文件(比如你的目的是为了看某个CPU上的汇编语言怎么写)。 ① –x language
对于源文件是用什么语言编写的,可以通过文件名的后缀来标示,也可以用这开关。指定输入文件是什么语言编写的,language 可以是如下的内容 a. c
b. objective-c c. c-header d. c++
e.cpp-output f.assembler
g.assembler-with-cpp ②–x none
把-x开关都给关掉了。 ③ –c
编译成把源文件目标代码,不做连接的动作。 ④–S
把源文件编译成汇编代码,不做汇编和连接的动作。 ⑤–E
10
只把源文件进行预处理之后的结果输出来。不做编译,汇编,连接的动作。 ⑥ –o file (常用)
指明输出文件名是file。 ⑦–v
把整个编译过程的输出信息都给打印出来。 ⑧–pipe
由于gcc的工作分为好几步才完成,所以需要在过程中生成临时文件,使用-pipe就是用管道替换临时文件。
⑵ 语言相关选项(Language Options) 用来处理和语言相关的选项。 ①–ansi
这个开关让GCC编译器把所有的GNU的编译器特性都给关掉,让你的程序可以和ansi标准兼容。 ②–include file 在编译之前,把file包含进去,相当于在所有编译的源文件最前面加入了一个#include
同-E参数配合使用。让预处理后的结果,把注释保留,让人能够比较好读它。 ⑶连接开关(Linker Options)
用来控制连接过程的开关选项。 ① –llibrary
连接库文件开关。例如-lugl,则是把程序同libugl.a文件进行连接。 ② –lobjc
这个开关用在面向对象的C语言文件的库文件处理中。 ③ –nostartfiles
在连接的时候不把系统相关的启动代码连接进来。 ④ –nostdlib
在连接的时候不把系统相关的启动文件和系统相关的库连接进来。 ⑤–static
在一些系统上支持动态连接,这个开关则不允许动态连接。 ⑥shared
生成可共享的被其他程序连接的目标模块。 ⑷目录相关开关(Directory Options) 用于定义与目录操作相关的开关。 –Ldir
搜寻库文件(*.a)的路径。
⑸调试开关(Debugging Options) –g
把调试开关打开,让编译的目标文件有调试信息。 –V version
用来告诉编译器使用它的多少版本的功能,version参数用来表示版本。 八、掌握Ubuntu下C程序编辑运行过程(重点) Ubuntu下编写C程序要经过以下几个步骤: ⑴启动常用的编辑器,键入C源程序代码。
11
例如,点击应用程序/附件/文本编辑器,进入编辑环境,输入C源程序,保存并命名为hello.c # include
Printf(“Hello world!\\n”); }
⑵编译源程序
点击应用程序/附件/终端,进入命令行。用gcc编译器对C源程序进行编译,以生成一个可执行文件。方法:
gcc -o hello.out hello.c ↙
⑶运行可执行文件 ·/hello.out ↙ 注:命令行中 -o选项表示要求编译器输出可执行文件名为hello.out文件,hello.c是源程序文件。
【实验报告】
1.举例列出常用的shell命令使用方法。
2.通过实例总结上机调试C语言程序的过程及此次上机的感想。
12
实验三 shell脚本
【实验目的】
1、了解和熟悉创建并使用脚本的步骤。 2、熟悉bash的控制结构。 3、学会简单的shell编程。
【实验内容】
1、 创建一个简单的列目录和日期的shell脚本并运行之。
步骤:
⑴输入下列命令,创建一个新文件: cat >new_scrip ⑵输入下列行:
echo “Your files are” ls
echo “today is” date
按回车键将光标移到一个新行,按Ctrl+D键保存并退出。 ⑶检查文件内容,确保它是正确的: cat new_script
⑷运行脚本,输入它的文件名: new_script 该脚本不运行。
⑸输入下列命令,显示文件的权限: ls –l new _script
权限表明该文件不是可执行。要通过简单调用文件名来运行脚本,必须有权限。 ⑹输入下列命令,使new_script变成可执行文件。 chmod +x new_script ⑺要查看新的权限,输入: ls –l
现在拥有文件的读、写和执行权限。 ⑻输入新脚本的名字以执行它: new_script
所有输入到文件的命令都执行,并输出到屏幕上。 ⑼如果接收到错误信息,比如: command not found 输入下列命令: ./new_script
该命令行通知shell到哪里寻找shell脚本new_script,即您的当前目录“.”。
2、 用Shell语言编制一Shell程序,该程序在用户输入年、月之后,自动打印数出该年该月的日
历。
13
<参考程序>
echo “Please input the month:” read month
echo “Please input the year:” read year
cal $month $year
3、 编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同则显示
“Match”,并显示“End of program”,如果不同则显示“End of program”。 <参考程序> $ cat > if1
echo –n “word 1:” read word1
echo –n “word 2:” read word2
if test “$word1” = “$word2” then
echo “Match” fi
echo “End of program.”
<程序说明>
①if?then控制结构的语法是:
If test-command False Ture then command fi if test_command then commands fi 图3.1 if…then流程图
②其中test_command为test “$word1” = “$word2”, test是一个内置命令,如果它的第一个参数和第三个参数存在第二个参数所指定的关系,那么test将返回ture。Shell将执行then和fi之间的命令。否则执行fi后面语句。
4、修改上述程序,编程提示用户输入两个单词,并将其读入,然后比较这两个单词,如果两个单词相同显示“Match”,不同则显示“Not match”,最后显示“End of program”。 <编程提示>请使用 if…then…else 控制结构。
5、编程使用case结构创建一个简单的菜单,屏幕显示菜单: a. Current date and time b. User currently logged in
c. Name of the working directory d. Contents of the working directory Enter a,b,c or d:
根据用户输入选项做相应操作。 <参考程序>
echo –e “\\n COMMAND MENU\\n” echo “ a. Current date and time”
14
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库操作系统原理实验指导书(3)在线全文阅读。
相关推荐: