注册 登录
编程论坛 C++教室

windows函数的定义

倚天 发布于 2010-02-03 11:35, 943 次点击
大家好,我请教个新手问题。我在读WINDOWS的时候总是只看到函数却不知道该怎么找函数的定义,如:

BOOL GetMessage(LPMSG lpMsg,HWND hWnd,UINT wMsgFilterMin,UINT wMsgFilteMax)

是一个函数,可它内部如何定义实现的却不知道。

我想如能了解的函数的实现,学起来会更直观。所以请教各位高手告诉我该怎么找到函数的实现。不胜感激
5 回复
#2
无诲今生2010-02-03 13:21
没办法,已经封装到了DLL里
#3
_DaNciNg_2010-02-03 13:43
你可以去源文件中查,或者网上查
如果在VC 6.0的话
你选中函数,右键,找到GO TO DEFINATION (查看定义)应该可以找到函数的定义出处
#4
倚天2010-02-03 16:32
谢谢两位了
#5
pangding2010-02-03 22:43
有的时候不一定知道函数定义学起来才更直观。
知道实现的话,难保不用到实现的特殊性质,但没人能保证这个实现版本的这个性质会在日后升级之后还有。
关键是了解这个函数的作用。而且不太可能所有的函数实现你都能看懂,它涉及的很多算法也许都是专用的,可能是有关方面的专家研究出来的东西。要调用一个函数不用知道它是怎么实现的,只要知道它是做什么的就够了。而且,一般来说,知道的越少,写出来的东西可移植性就越好一些。
有关函数的实现简单的可能很简单,但难的不一定。就像我给你某个快排的实现,如果你没听说过这个算法,只知道这个函数是排序用的,你可能根本无从研究它为什么要这么实现。归并、堆排之类的也是一样。要是一看源码就会,大家考试就不发愁了。但是这些函数用起来的效果没有区别(虽然性能上可能不一样)。
#6
你们都要疼我哦2010-02-04 03:18
有前途哇。 用户模式下的API封装在库文件中,一般库文件中并没有具体的实现细节,只是简单的又跳转到内核中。你可以阅读WRK或者ReactOS,阅读这些大规模的代码,最好用Source Insight,就可以方便的查找参考引用。
如果你只是为了熟练使用的话,就象楼上讲的,完全没必要去了解实现,只要知道这个函数怎么用就可以了。
其实对于使用API写代码,一般都是经过长期的积累,对常用的API有个大概印象,具体要用的时候,就查资料看参数和返回值。
1