阅读:6680回复:43
讨论:有没有用面向对象编程(OOP)做驱动程序的!!!(希望版主置顶) |
|
|
沙发#
发布于:2010-02-15 09:22
我也觉得用面向对象的好,增加经测试后稳定代码的重用性,请问下大家我听很多人说用class写驱动好像不能编译,怎么回事呢,我才开始学
|
|
板凳#
发布于:2002-05-25 11:19
[quote]oop应该是一种思想,不是一门什么语言。 我比较同意这种观点,oop应该只是一种思想,和语言实现无关。有概念说C和C++的主要区别在于前者面向过程,而后者主要面向于对象,但我个人更趋向于接受两者都是C,只不过设计风格不一样,因为站在底层的角度看,最终都是和汇编一起编译成机器语言的,可能也只是函数地址调用有差异。就oop思想来说,看驱动最终目的而定,如果驱动服务于一类产品或重用,会考虑面向对象的。像windows和win CE的流式设备就有些这种思想,我原来在一个PDA的底层驱动中也曾经试过引入对象概念,虽然对于PDA的资源来说不会考虑一个物理资源有多个虚拟对象,不会有继承等概念,但也有对象成员变量和成员函数概念,应该接近于oop了,我觉得好处是容易屏蔽硬件,实现硬件平台移植。 OS_Dev也是搞底层的吗?以后向你多多请教,我刚接触底层不到一年,在学习中,e-mail:kinghjj@sina.com,多多联系。对于这个BBS也是刚进来,不熟悉,也请各位大虾多多指教。 [编辑 - 4/28/02 作者: znsoft] [/quote] 非常同意 |
|
地板#
发布于:2002-05-23 10:37
我也想知道
|
|
|
地下室#
发布于:2002-05-22 15:48
我觉得用DW也比较麻烦,还没等写什么,工作就已经完成啦
:D :D :D |
|
5楼#
发布于:2002-05-09 15:51
[quote]oop应该是一种思想,不是一门什么语言。 我比较同意这种观点,oop应该只是一种思想,和语言实现无关。有概念说C和C++的主要区别在于前者面向过程,而后者主要面向于对象,但我个人更趋向于接受两者都是C,只不过设计风格不一样,因为站在底层的角度看,最终都是和汇编一起编译成机器语言的,可能也只是函数地址调用有差异。就oop思想来说,看驱动最终目的而定,如果驱动服务于一类产品或重用,会考虑面向对象的。像windows和win CE的流式设备就有些这种思想,我原来在一个PDA的底层驱动中也曾经试过引入对象概念,虽然对于PDA的资源来说不会考虑一个物理资源有多个虚拟对象,不会有继承等概念,但也有对象成员变量和成员函数概念,应该接近于oop了,我觉得好处是容易屏蔽硬件,实现硬件平台移植。 OS_Dev也是搞底层的吗?以后向你多多请教,我刚接触底层不到一年,在学习中,e-mail:kinghjj@sina.com,多多联系。对于这个BBS也是刚进来,不熟悉,也请各位大虾多多指教。 [编辑 - 4/28/02 作者: znsoft] [/quote] 赞同以上的观点。 面向对象主要是一种分析问题的方法,是一种思想。在分析和设计驱动时,用OO的方法可以使思路比较清晰。而具体实现时,可以根据驱动的复杂度,选用适宜的方法。对简单的驱动,可以直接用结构化的编码;而驱动中的数据结构比较复杂时,可以考虑用OOP,便于维护。 |
|
6楼#
发布于:2002-05-08 08:08
见过用COM写device driver for Windows CE, 应该算oop吧.
|
|
7楼#
发布于:2002-04-28 15:10
各位能否推荐几个可交流的国外好网站;
|
|
8楼#
发布于:2002-04-28 15:08
想到国外网站溜溜,各位能否推荐几个可交流的国外好网站。
|
|
9楼#
发布于:2002-04-24 14:35
oop应该是一种思想,不是一门什么语言。 我比较同意这种观点,oop应该只是一种思想,和语言实现无关。有概念说C和C++的主要区别在于前者面向过程,而后者主要面向于对象,但我个人更趋向于接受两者都是C,只不过设计风格不一样,因为站在底层的角度看,最终都是和汇编一起编译成机器语言的,可能也只是函数地址调用有差异。就oop思想来说,看驱动最终目的而定,如果驱动服务于一类产品或重用,会考虑面向对象的。像windows和win CE的流式设备就有些这种思想,我原来在一个PDA的底层驱动中也曾经试过引入对象概念,虽然对于PDA的资源来说不会考虑一个物理资源有多个虚拟对象,不会有继承等概念,但也有对象成员变量和成员函数概念,应该接近于oop了,我觉得好处是容易屏蔽硬件,实现硬件平台移植。 OS_Dev也是搞底层的吗?以后向你多多请教,我刚接触底层不到一年,在学习中,e-mail:kinghjj@sina.com,多多联系。对于这个BBS也是刚进来,不熟悉,也请各位大虾多多指教。 [编辑 - 4/28/02 作者: znsoft] |
|
10楼#
发布于:2002-04-22 16:03
ds中的程序似乎是面向对象的
|
|
|
11楼#
发布于:2002-04-22 08:39
Kernel Streaming Driver里面就用到很多Class, interface
|
|
|
12楼#
发布于:2002-04-19 14:36
用Numega的driver studio生成的driver框架就是OOP之类的
东东。 我一见就头疼... |
|
|
13楼#
发布于:2002-04-17 16:15
我看过许多国外写的驱动,发现它们逐渐采用那个OOP来将驱动封装起来进行相关的使用。
|
|
14楼#
发布于:2002-04-17 08:12
OOP可以直接访问硬件吗? 这和oop没有关系! |
|
|
15楼#
发布于:2002-04-16 22:02
OOP可以直接访问硬件吗?
|
|
16楼#
发布于:2002-04-13 13:53
采用封装后的oop是有利于以后的代码复用原则,但是驱动程序要求高效,精简,所以多数用C开做,而把一些常用的东东分割成小模块,小模块完成独立的功能,以便日后复用
|
|
17楼#
发布于:2002-04-11 14:55
别忘了面向对象的目的。 如果仅是为了一次开发,还不如用C呢。
重要的是我们为驱动程序开发的类能否有利于我们的维护和重用,能提高开发效率,节约开发成本。 严重同意上述观点! |
|
|
18楼#
发布于:2002-04-11 11:03
oop应该是一种思想,不是一门什么语言。
你用C也可以做到啊,甚至在汇编重也可以融合这种思想 |
|
|
19楼#
发布于:2002-04-11 09:44
driver in mac os x is written in oop!
|
|
上一页
下一页