77范文网 - 专业文章范例文档资料分享平台

操作系统实验指导书(2)

来源:网络收集 时间:2019-03-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

x dw D dd 4,替换操作 r cw C cc 5,查询命令

/abc ?abc n N :n1,n2 s/word1/word2/gc 6,拷贝粘贴 y Y 2yy p P 7,其他命令

:set nu; :set nonu; u .;v y p gf CTRL-SHIFT-6 2 shell程序的编写 环境变量

echo env set $ “” ‘’ ? ``

(1)熟悉shell script的结构和运行、调试方法。 (2)熟悉shell script的变量声明方法及其输入输出。 declare –i a=3;read

(3)熟悉shell script的分支结构。编写shell script文件test1.sh,判断用户根目录下是否有名为test的文件或者目录,如果有的话,将其删除。

if [ -e test ]; then xxx else xxx fi

(4)熟悉shell script的循环结构。编写shell script文件test2.sh,实现1到100所有奇数的和并输出。

试验三 linux的C语言开发

试验目的

熟悉gcc的使用 熟悉gdb的使用 熟悉make的使用 试验内容 1 gcc (1)过程

gcc hello.c –o hello 输入 选项 输出 命令 注释

.c -E .i cpp 预编译,文件包含、条件编译、宏展开 .i -S .s cc1 编译,生成汇编文件,注意命令的路径 .s -c .o as 汇编,生成目标文件 .o [ELF] ld 链接 (2)常用选项 -v 显示进度

-W[all] 显示警告信息 -I 头文件路径,不要空格 -L 库路径,不要空格

-lName库名字(libName.或者libName.so) -shared 编译成共享库

-static 链接静态库 -fpic[fPIC] 编译成共享库

-O[n] 优化 -Dmacro=BAR在命令行定义预处理宏FOO,其值为BAR -Wl,option 传递给ld程序option 选项,比如-Wl,-dn和-Wl,-dy 注意区别:

gcc hello.c –o hello.static –Wl,-dn[-Bstatic][-static] gcc hello.c –o hello.dynatic–Wl,-dy[-Bdynamic] 默认

(3)c++

编写hello.cxx程序:

#include using namespce std; int main() { Cout<<”hello”<

g++ hello.cxx -o hello (4)静态库的建立和使用 a)建立 gcc -c add.c gcc -c sub.c

ar -r libaddsub.a add.o sub.o (查ar命令,注意/r/t/x的用法) b)调用

gcc test2.c -o test2.static -I ./ -L ./ -Wl,-dn –laddsub -Wl,-dn后面的库使用静态版本

(5)共享库的建立和使用 a)建立

gcc -fpic [-shared] add.c sub.c -o libaddsub.so b)安装

为了让动态链接库为系统所认识及共享, 就需要运行ldconfig命令。(man ldconfig,注意命令作用) 默认目录/lib和/usr/lib

配置文件/etc/ld.so.conf内所列的目录 缓存文件/etc/ld.so.cache 四种安装方式:

#cp libaddsub.so /usr/bin #ldconfig #pwd>>/etc/ld.so.conf #ldconfig #ldconfig `pwd` //更新缓存无效 #export LD_LIBRARY_PATH=\另开shell则无效 c)共享调用

gcc test2.c -o test2 -I ./ -L ./ -Wl,-dy –laddsub -Wl,-dy用于指定链接动态库版本,默认 d)动态调用

Linux 提供 4 个库函数(dlopen, dlerror, dlsym 和 dlclose),一个 include 文件(dlfcn.h)以及两个共享库(静态库 libdl.a 和动态库 libdl.so),以支持动态链接装入器。

gcc test2.c -o test2 –ldl

参考:

#include #include

int main() {

int a,b;

scanf(\ void *pHandle;

int (*sub)(int m,int n);

pHandle=dlopen(\

sub=dlsym(pHandle,\ printf(\ dlclose(pHandle); return 0; }

附:几个命令

ldd 查看文件的依赖关系

nm 查看文件的符号表,比如:nm test2|grep add objdump 查看文件的信息 2 gdb

(1) 准备gcc -g

(2) 打开gdb filename/file filename

(3) 运行run/next/step(进入子程序)/continue (4) 设置断点break/delete (5) 显示表达式的值

print exp 立即输出表达式的值

watch exp 表达式的值发生变化时,程序停止并输出其新旧值

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库操作系统实验指导书(2)在线全文阅读。

操作系统实验指导书(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/541787.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: