2012-linux课程设计指导文档

2012-linux课程设计指导文档

ID:6664524

大小:526.00 KB

页数:47页

时间:2018-01-21

2012-linux课程设计指导文档_第1页
2012-linux课程设计指导文档_第2页
2012-linux课程设计指导文档_第3页
2012-linux课程设计指导文档_第4页
2012-linux课程设计指导文档_第5页
资源描述:

《2012-linux课程设计指导文档》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、2012/2new2第1章Linux下C编程的相关知识11.1.Linux下的C编程11.源程序的编译12.头文件和系统求助21.2.文件拷贝实例21.3.并发进程显示实例61.实现原理72.注意要点73.特别强调:7第2章系统调用相关知识92.1.Linux系统调用机制91.内核中系统调用的过程92.用户程序中系统调用的过程162.2.添加新的系统调用(2.6.18内核)191.步骤1:准备192.步骤2:下载源代码193.步骤3:修改相应内核文件194.步骤4:开始对新的内核进行编译212.3.对新加的系统调用

2、进行测试231.旧版本的测试方法232.新版本的测试方法232.4.添加新的系统调用(3.2.4内核)241.步骤1:准备242.步骤2:修改相应内核文件242.步骤4:开始对新的内核进行编译262.5.对新加的系统调用进行测试(3.2.4内核)271.测试方法27第3章设备驱动相关知识283.1.基础知识2823.2.添加新模块的基本步骤291.写设备驱动源代码:292.编译313.挂载内核中模块324.创建新的虚拟设备文件335.测试新的设备驱动336.卸载操作33第4章/proc文件相关知识344.1.实现原

3、理344.2.实现方法34222第1章Linux下C编程的相关知识1.1.Linux下的C编程1.源程序的编译在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器.下面我们以一个实例来说明如何使用gcc编译器.假设我们有下面一个非常简单的源程序(hello.c):intmain(intargc,char**argv){printf("HelloLinux");}要编译这个程序,我们只要在命令行下执行:gcc-ohellohello.cgcc编译器就会为我们生成一个名为hello的可执行文

4、件.在当前目录下执行./hello就可以看到程序的输出结果了.命令行中gcc表示我们是用gcc来编译我们的源程序,-o选项表示我们要求编译器给我们输出的可执行文件名为hello而hello.c是我们的源程序文件.gcc编译器有许多选项,一般来说我们只要知道其中的几个就够了.-o选项我们已经知道了,表示我们要求输出的可执行文件名.-c选项表示我们只要求编译器输出目标代码,而不必要输出可执行文件.-g选项表示我们要求编译器在编译的时候提供我们以后对程序进行调试的信息.知道了这三个选项,我们就可以编译我们自己所写的简单的

5、源程序了,如果你想要知道更多的选项,可以查看gcc的帮助文档(可以用mangcc来查看),那里有着许多对其它选项的详细说明.81.头文件和系统求助有时候我们只知道一个函数的大概形式,不记得确切的表达式,或者是不记得该函数在哪个头文件进行了说明。这个时候我们可以求助系统。比如说我们想知道fread这个函数的确切形式,我们只要执行manfread系统就会输出函数的详细解释和这个函数所在的头文件说明.如果我们要write这个函数的说明,我们执行manwrite时,输出的结果却不是我们所需要的。因为我们要

6、的是write这个函数的说明,可是出来的却是write这个命令的说明。为了得到write的函数说明我们要用man2write。2表示我们用的write这个函数是系统调用函数,还有一个我们常用的是3表示函数是C的库函数。记住不管什么时候,man都是我们的最好助手。1.1.文件拷贝实例本节主要针对一个实例:编一个C程序,其内容为实现文件拷贝的功能。主要用到如下几个函数:open:打开文件close:关闭文件read:读操作write:写操作当我们需要打开一个文件进行读写操作的时候,我们可以使用系统调用函数open.使用

7、完成以后我们调用另外一个close函数进行关闭操作.#include//注意:这个字母是小写的L,而不是数字1。#include#include#includeintopen(constchar*pathname,intflags);intopen(constchar*pathname,intflags,mode_tmode);intclose(intfd);open函数有两个形式.其中pathname是我们要打开的文件名(包含

8、路径名称,缺省是认为在当前路径下面).flags可以去下面的一个值或者是几个值的组合.8组合使用时候用竖线|隔开。O_RDONLY:以只读的方式打开文件.//是字母O,O_WRONLY:以只写的方式打开文件.O_RDWR:以读写的方式打开文件.O_APPEND:以追加的方式打开文件.O_CREAT:创建一个文件.//创建一个不存在的文件。O_EXEC:如果使

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。