Microsoft Visual Studio 的链接器有 a /DRIVER
flag专门用于构建驱动程序:
Use the
/DRIVER
linker option to build a Windows NT kernel mode driver.
但是,Microsoft says :
You must not build drivers by using the compiler or linker that Microsoft Visual Studio provides.
这引出了问题:
为什么我不应该用 Visual Studio 编译/链接驱动程序?
DDK/WDK工具生成的输出和Visual Studio生成的输出有区别吗?
如果有,有什么不同?
注意我说的是使用 Visual Studio 的编译器和链接器,不是库! p>
我将 WDK 头文件和库与 VS 的编译器和链接器一起使用,但微软特别说我需要避免这种情况:
You must not build drivers by using the compiler or linker that Microsoft Visual Studio provides.
他们甚至没有提及头文件和库,所以这当然不是我的问题。
为什么?
最佳答案
This article让我走上正轨,我想。这是因为 DDK 工具使用的运行时库与 Visual Studio 不同。
Visual Studio 会将驱动程序与其提供的运行时库(或可选地,安装在系统上的最新版本的运行时库)链接起来,但可以说驱动程序应该与用于构建操作系统本身的运行时完全相同.
关于visual-studio - 为什么用 Visual Studio 构建驱动程序是 "Bad"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6241917/
相关文章:
git - 您是否应该将已编译的 Assets checkin Git?
xcode - 如何将构建阶段复制到 Xcode 中的另一个目标?
java - 在 Play 上使用 Clover 执行代码覆盖!使用 Ant 的框架应用程序
build - 为什么 Gradle 不在编译/运行时类路径中包含传递依赖项?
javascript - 如何使用 npm 脚本将 typescript 编译成 javascrip
deployment - 什么/为什么 WinRT 随机创建新的干净布局
iphone - 什么是 "Couldn' t 打开共享功能内存 GSCapabilities (没