阅读:1217回复:3
请教各位,为什么在中间层(小端口也算吧)驱动程序上的DriverEntry例程前面可以没有extern\"C\",为什么???
高手指点,是不是因为中间层不需要查找历程入口还是别的?
|
|
沙发#
发布于:2003-05-21 21:42
搞清楚extern \"C\"是干什么的先。
|
|
板凳#
发布于:2003-05-21 21:46
使用extern \"C\"说明情况是:
1. 被调用的函数是使用C约定编译好的(如C标准库函数)。 2. 编写的函数要被其他代码调用,而调用该函数的代码使用C语言调用约定。 3. 以上两种情况的组合。 如果调用方和被调用方都使用源代码编译,那么编译器可自动处理调用协议问题。你提到的问题就属于此种情况。 |
|
|
地板#
发布于:2003-05-24 15:17
因为驱动中只有DriverEntry是被直接调用的
而其他函数都以函数指针在DriverEntry中传递. |
|