阅读:1277回复:5
胡斑竹,说点题外话,关于.h的混乱
前几天,我看见本版上又很多帖子再讨论ntddk.h和ndis.h的编译,我在其他网站上又看到如nt切换到ring0的代码,fport等,也是由于ntddk.h的问题,如和windows.h的重复定义,等等,虽然都可以通过很多办法来解决,如自定义变量和函数,去掉ntddk.h,等,但总觉得这似乎是一个根本的问题,就象体制一样,比较烂,和JAVA的import比较起来,似乎差得太远,不知道,你有没有这种感觉。
[编辑 - 5/29/02 by flyfox] |
|
最新喜欢:jzyhum...
|
沙发#
发布于: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。 |
|
|
板凳#
发布于: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++ 重写一便操作系统。 |
|
|
地板#
发布于:2002-05-29 10:11
我也摊点自己的感受吧,
希望不要跟话题有太大出入。 我觉得,c在某方面的效率,确实是无法比拟的(先不谈移植行)。 我也曾日夜奋战过3个月,去优化过某些算法,当然包括各种语言,实现的比较。所以,有很深的感触。 os 的实现,我想c的效率应该很高了,至少不比其它的差。 至于,在实际中为什么有些人,用c为什么效率很差,我想使他们没有领悟到c是为什么快的,怎样快的吧。 因为我不是搞驱动出身的,可能发言权不强。但我想,如果驱动调试的人留意的话,会更为清楚,因为你们可以清楚的看出,每条语句所占的时钟周期。 |
|
|
地下室#
发布于:2002-05-29 20:06
通常偶以为用c不用c++的人,多半是不是象偶这样对cpp不熟悉阿.hehe
|
|
|
5楼#
发布于:2002-05-29 21:06
通常偶以为用c不用c++的人,多半是不是象偶这样对cpp不熟悉阿.hehe 因为你有个多半,所以我同意。 唉,见过只能用c不能不用c++的情况么? 赫赫 |
|
|