阅读:3263回复:0
关于用VS2008编译 minifilter sample 的一些疑惑,有懂的请指教
我用VS2008成功地编译了src\filesys\miniFilter 下的简单例子, 如NullFilter, PassThrough .
但在编译SwapBuffers时出现了问题,编译器提示一些异常处理关键字没有声明: 1>.\ctxdisp.c(2004) : error C2065: “leave”: 未声明的标识符 1>.\ctxdisp.c(2040) : error C2065: “leave”: 未声明的标识符 1>.\ctxdisp.c(2043) : error C2065: “try”: 未声明的标识符 1>.\ctxdisp.c(2043) : error C2143: 语法错误 : 缺少“;”(在“{”的前面) 1>.\ctxdisp.c(2053) : error C2143: 语法错误 : 缺少“;”(在“{”的前面) 1>.\ctxdisp.c(2055) : error C2707: “_exception_code”: 内部函数的错误上下文 1>.\ctxdisp.c(2063) : error C2065: “finally”: 未声明的标识符 后来在一位朋友帮助下, 把代码里的try, finally ,修改成了__try, __finally.编译成功. 不明白的地方是: 1 TRY LEAVE FINALLY 在C语法下有这些关键字吗?这些不是C++异常的关键字吗? 2 修改前的代码,可以用WDK环境BUILD成功, 在VS下不成功, 区别在什么地方? 3 链接的时候, 可能缺少某些LIB文件,在WDK里面只能找到这些函数定义在哪个头文件,却 找不到需要链接哪个LIB文件. 可不可以根据SOURCE文件, 找出这个例子都链接了哪些LIB? 4 VS里有个配置库文件目录和引用文件目录, 库文件和引用文件有什么区别? 谢谢回答. |
|