当前位置: 技术问答>linux和unix
我对Linux平台下程序开发的一点疑问(技术方面的的)
来源: 互联网 发布时间:2015-01-01
本文导语: 对于Linux,我还处在刚刚接触阶段,所以我还不是很了解,以下是一些我的问题, 1,首先,好像在Linux中,每个设备或者文件,以及一些文件夹等软件数据和硬件设备都是以文件夹的形式存在的,例如,在根目录下的/dev目录下的所...
对于Linux,我还处在刚刚接触阶段,所以我还不是很了解,以下是一些我的问题,
1,首先,好像在Linux中,每个设备或者文件,以及一些文件夹等软件数据和硬件设备都是以文件夹的形式存在的,例如,在根目录下的/dev目录下的所有文件夹都代表一个硬件设备,那么,我们能不能够用软件来模拟驱动一个硬件设备呢?让操作系统误认为是硬件设备.(80分)
2,在现在的软件开发技术领域中,面对对象程序设计方法已经非常流行了,而在Linux/Unix中,这两个操作系统平台都是用C来开发的,那么也就是说,我们在对linux/unix内核进行改进时,我们是不是还必须使用类似于面向对过程的程序开发方法来编程呢?还有在对linux环境下的驱动程序开发时,也必须用面对过程吗?(20分)
(未完)
1,首先,好像在Linux中,每个设备或者文件,以及一些文件夹等软件数据和硬件设备都是以文件夹的形式存在的,例如,在根目录下的/dev目录下的所有文件夹都代表一个硬件设备,那么,我们能不能够用软件来模拟驱动一个硬件设备呢?让操作系统误认为是硬件设备.(80分)
2,在现在的软件开发技术领域中,面对对象程序设计方法已经非常流行了,而在Linux/Unix中,这两个操作系统平台都是用C来开发的,那么也就是说,我们在对linux/unix内核进行改进时,我们是不是还必须使用类似于面向对过程的程序开发方法来编程呢?还有在对linux环境下的驱动程序开发时,也必须用面对过程吗?(20分)
(未完)
|
对于问题一,完全可以,其实linux下很多机制本来就是这么设计的
对于问题二,说到驱动程序的面向对象编程,有一个工具OSkit
可以到http://www.joyfire.net/jln/project/2.html
看看《包装系统驱动程序》那篇文章
不仅仅是驱动程序,整个操作系统都被OO化了,同时这个工具又很实用,基
本上是对linux和freebsd原来的驱动进行封装就可以使用了。我曾经
试过仅仅用三天就建立了一个自己的内核
最后,对于linux内核的C语言和C++争议由来已久,可以到下面这个页面
http://joyfire.net/about.html
看看《关于C和C++》的那段
对于问题二,说到驱动程序的面向对象编程,有一个工具OSkit
可以到http://www.joyfire.net/jln/project/2.html
看看《包装系统驱动程序》那篇文章
不仅仅是驱动程序,整个操作系统都被OO化了,同时这个工具又很实用,基
本上是对linux和freebsd原来的驱动进行封装就可以使用了。我曾经
试过仅仅用三天就建立了一个自己的内核
最后,对于linux内核的C语言和C++争议由来已久,可以到下面这个页面
http://joyfire.net/about.html
看看《关于C和C++》的那段
|
不可能吧,window也不是c++编的,应该说 大部分是汇编+C
面向对象和语言无关,和工具也无关,明白这个最重要。
用c当接口,并不妨碍用c++来调用。
面向对象和语言无关,和工具也无关,明白这个最重要。
用c当接口,并不妨碍用c++来调用。
|
linux内核虽然是用c语言写的,但是其中体现了非常多的面向对象的思想。
c++只是提供的一种实现面向对象方法的机制,而c不具备,所以必须在
程序开发中使用各种技巧来实现面向对象的思想,这正式linux内核所体现的。
c++只是提供的一种实现面向对象方法的机制,而c不具备,所以必须在
程序开发中使用各种技巧来实现面向对象的思想,这正式linux内核所体现的。
|
1.完全可以,推荐<linux设备驱动(第二版)>
2.linux的内核用GNU C编写,主要是面向过程的,但是
linux本身的多线程,又采用了信号驱动等技术
2.linux的内核用GNU C编写,主要是面向过程的,但是
linux本身的多线程,又采用了信号驱动等技术