flyfox
驱动中牛
驱动中牛
  • 注册日期2001-04-05
  • 最后登录2012-08-03
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望22点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
阅读:1277回复:5

胡斑竹,说点题外话,关于.h的混乱

楼主#
更多 发布于:2002-05-28 19:34
前几天,我看见本版上又很多帖子再讨论ntddk.h和ndis.h的编译,我在其他网站上又看到如nt切换到ring0的代码,fport等,也是由于ntddk.h的问题,如和windows.h的重复定义,等等,虽然都可以通过很多办法来解决,如自定义变量和函数,去掉ntddk.h,等,但总觉得这似乎是一个根本的问题,就象体制一样,比较烂,和JAVA的import比较起来,似乎差得太远,不知道,你有没有这种感觉。

[编辑 -  5/29/02 by  flyfox]

最新喜欢:

jzyhummeljzyhum...
一剑西来,天外飞仙
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2002-05-29 09:27
前几天,我看见本版上又很多帖子再讨论ntddk.h和ndis.h的编译,我在其他网站上又看到如nt切换到ring0的代码,fport等,也是由于ntddk.h的问题,如和windows.h的重复定义,等等,虽然都可以通过很多办法来解决,如自定义变量和函数,去掉ntddk.h,等,但总觉得这似乎是一个根本的问题,就象体制一样,比较烂,和JAVA的import比较起来,似乎差得太远,不知道,你有没有这种感觉。


这一切都是c语言的问题,和windows无关。
你要是做过linux的c库函数移植,就知道那也是一场恶梦。

你要是看B.S的C++的设计与演化,就知道BS早就认为.h很
烂,一直想改变,但是为了和c兼容,一直没有动。

java和c#都不存在这个问题,那就是因为这些人意识到了
这些问题。

不过我个人倒是认为,c++已经解决了大多数的问题,例如
namespace等等。关键是大多数人都没有学会c++,或者
还在用和c相同的c++,高级特性一点都不用。

此外对于c程序员来说,我见到许多人,用c写出了我用vb
才能写出的程序效率。可笑的是,当我问他们为什么不用c++
或者别的什么更高级的语言,他们回答说他们很在乎效率。

基本上,他们用c写的大程序是一个充分使用c++模版等高级
功能程序的效率的1/5,可是效率每天都挂在他们嘴上。

当我意识到,我没有时间去学习红黑数,以及各种图快速
算法的时候,我选择了使用c++。并且极端憎恶那些在程序
中充满这些算法的人,因为这让我很难看懂那些怪异的数据
结构和莫名其妙的算法,不过我更憎恶那些用c写出效率低下
程序的人。包括我自己,我最近越来越对自己不满了,我
觉得我不配用c,还好我对vb和pb也熟,还做过两年的oracle。
不再回忆从前,我已经生活在幸福当中。
HuYuguang
论坛版主
论坛版主
  • 注册日期2001-04-25
  • 最后登录2013-04-29
  • 粉丝3
  • 关注1
  • 积分92分
  • 威望11点
  • 贡献值0点
  • 好评度9点
  • 原创分1分
  • 专家分0分
板凳#
发布于:2002-05-29 09:31
[quote]前几天,我看见本版上又很多帖子再讨论ntddk.h和ndis.h的编译,我在其他网站上又看到如nt切换到ring0的代码,fport等,也是由于ntddk.h的问题,如和windows.h的重复定义,等等,虽然都可以通过很多办法来解决,如自定义变量和函数,去掉ntddk.h,等,但总觉得这似乎是一个根本的问题,就象体制一样,比较烂,和JAVA的import比较起来,似乎差得太远,不知道,你有没有这种感觉。


这一切都是c语言的问题,和windows无关。
你要是做过linux的c库函数移植,就知道那也是一场恶梦。

你要是看B.S的C++的设计与演化,就知道BS早就认为.h很
烂,一直想改变,但是为了和c兼容,一直没有动。

java和c#都不存在这个问题,那就是因为这些人意识到了
这些问题。

不过我个人倒是认为,c++已经解决了大多数的问题,例如
namespace等等。关键是大多数人都没有学会c++,或者
还在用和c相同的c++,高级特性一点都不用。

此外对于c程序员来说,我见到许多人,用c写出了我用vb
才能写出的程序效率。可笑的是,当我问他们为什么不用c++
或者别的什么更高级的语言,他们回答说他们很在乎效率。

基本上,他们用c写的大程序是一个充分使用c++模版等高级
功能程序的效率的1/5,可是效率每天都挂在他们嘴上。

当我意识到,我没有时间去学习红黑数,以及各种图快速
算法的时候,我选择了使用c++。并且极端憎恶那些在程序
中充满这些算法的人,因为这让我很难看懂那些怪异的数据
结构和莫名其妙的算法,不过我更憎恶那些用c写出效率低下
程序的人。包括我自己,我最近越来越对自己不满了,我
觉得我不配用c,还好我对vb和pb也熟,还做过两年的oracle。
 [/quote]

问题在于,几乎所有的os都是用c写的,这也就是为什么
windows里面的头文件都是c风格的,不过相比起来,我认为
windows程序员已经比较幸福了,毕竟windows是base object
设计的,还有匈牙利命名法的帮助。

我不知道为什么大家不构建c++的核心模版库,然后用c++
重写一便操作系统。
不再回忆从前,我已经生活在幸福当中。
fenger_li
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2005-04-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-05-29 10:11
我也摊点自己的感受吧,
希望不要跟话题有太大出入。

我觉得,c在某方面的效率,确实是无法比拟的(先不谈移植行)。
我也曾日夜奋战过3个月,去优化过某些算法,当然包括各种语言,实现的比较。所以,有很深的感触。
  os 的实现,我想c的效率应该很高了,至少不比其它的差。

  至于,在实际中为什么有些人,用c为什么效率很差,我想使他们没有领悟到c是为什么快的,怎样快的吧。

  因为我不是搞驱动出身的,可能发言权不强。但我想,如果驱动调试的人留意的话,会更为清楚,因为你们可以清楚的看出,每条语句所占的时钟周期。


有点意思。。。 呵呵!
sirroom
驱动大牛
驱动大牛
  • 注册日期2001-07-30
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望11点
  • 贡献值1点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-05-29 20:06
通常偶以为用c不用c++的人,多半是不是象偶这样对cpp不熟悉阿.hehe
111
fenger_li
驱动老牛
驱动老牛
  • 注册日期2002-03-26
  • 最后登录2005-04-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-05-29 21:06
通常偶以为用c不用c++的人,多半是不是象偶这样对cpp不熟悉阿.hehe


因为你有个多半,所以我同意。
唉,见过只能用c不能不用c++的情况么?
赫赫
有点意思。。。 呵呵!
游客

返回顶部