首页
社区
课程
招聘
请问大牛们,内核编程你们是用C还是C++呢?
发表于: 2013-6-26 22:02 18998

请问大牛们,内核编程你们是用C还是C++呢?

2013-6-26 22:02
18998
收藏
免费 0
支持
分享
最新回复 (35)
雪    币: 297
活跃值: (120)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
26
支持老牛
2013-6-27 12:50
0
雪    币: 218
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
C99就可以了,不过VC只支持到C89
2013-6-27 13:24
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
其实没有神预言好的定论,只有看什么最合适,什么最适合你当前的开发项目,综合考虑,c预言和c++各有优缺点。所有要从你的开发的实际考虑!
2013-6-27 14:19
0
雪    币: 65
活跃值: (112)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
29
话说。。。map这东西是stl的吧

不说试试,商用程序里面我都用了几年了

你说STL不能在驱动用。。。。。。理由呢?
我想你说不出任何可以称得上理由的理由
2013-6-29 11:13
0
雪    币: 496
活跃值: (301)
能力值: ( LV13,RANK:400 )
在线值:
发帖
回帖
粉丝
30
理由,请先理解我的意思,我的意思是标准的STL在标准的DDK环境中是不可能使用的,但是如果说我想让STL的某些特性一定要能在DDK中使用,那又不是不可能的事,.net都能移植到linux上何况是在一个平台内的不同语言框架中间做改动呢。

首先我想说,如果你不做一些变通,而是直接拿个ms编译器然后写一堆包含STL的代码是不可能编译通过的。

1.全局new和delete操作符的问题,ddk是没有提供这两个操作符的。
2.全局对象的构造和析构,没有人会为你去调用全局对象的构造和析构函数。
3.不支持C++异常处理
4.不支持运行时类型识别(RTTI)
5.内存管理方面分页非分页
………………
等等~

如果不是对库做一些修改或者使用别人提供的修改版的库,你看看你能不能使用你的std::map

作为一个驱动开发者,我觉得如果对于C++语言在驱动开发中受到的限制,以及这些限制的本质原因没有一个清晰的了解,那就真是陷入了一个盲目的码农状态。

给点MSDN对于内核驱动开发的先导教程文章。
http://msdn.microsoft.com/en-us/library/windows/hardware/gg487420.aspx

再送一个osr的文章
http://www.osronline.com/article.cfm?article=490
2013-6-29 14:22
0
雪    币: 65
活跃值: (112)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
31
1、new,delete自己重载下不就是了
2、要么不要定义 CLASS_A Obj这样的变量,只允许new出来;要么自己实现下C++库中的那几个名字很变态的符号
3、关于C++的异常处理,参考2
4、关于运行时类型识别,这个非native,非ISO支持,不讨论也罢,而且有他没他无所谓(所谓类型,仅仅告诉CPU一次操作多少个字节而已,比如LONG的话最终编译出的,CPU是一次操作了4个字节。。。。等等,没其他实质意义)
5、分页非分页,参考1
2013-7-2 14:46
0
雪    币: 8277
活跃值: (642)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
32
我是楼主,我找到一篇微软msdn的关于C++编写内核驱动的文章,大家有兴趣可以看看
http://msdn.microsoft.com/zh-cn/windows/hardware/gg487420
2013-7-6 18:58
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
我多少KX了
2013-7-9 10:59
0
雪    币: 38
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
34
linux是C,Windows就不知道了。
2013-8-30 11:43
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35


现金: 200 Kx
2013-8-30 14:01
0
雪    币: 36
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
36
我也是初学,请各位多指教!
2013-8-31 15:53
0
游客
登录 | 注册 方可回帖
返回
//