为什么使用Visual Studio构建驱动程序"不好"?

Meh*_*dad 12 kernel build driver visual-studio visual-c++

Microsoft Visual Studio的链接器有一个/DRIVER专门用于构建驱动程序标志:

使用/DRIVER链接器选项构建Windows NT内核模式驱动程序.

不过,微软表示:

您不能使用Microsoft Visual Studio提供的编译器或链接器来构建驱动程序.

这引出了一个问题:

为什么我不能使用Visual Studio编译/链接驱动程序?

DDK/WDK工具生成的输出是否与Visual Studio生成的输出不同?
如果是这样,它有什么不同?


编辑:

请注意,我在谈论使用Visual Studio的编译器链接器,而不是库!

我在VS的编译器和链接器中使用了WDK头文件和库,但是Microsoft 特别指出我需要避免这种情况:

您不能使用Microsoft Visual Studio提供的编译器链接器来构建驱动程序.

他们甚至没有提到标题和库,所以当然这不是我的问题.

为什么?

Fré*_*idi 6

我认为,这篇文章让我走上正轨.那是因为DDK工具使用与Visual Studio不同的运行时库.

Visual Studio将链接驱动程序与它提供的运行时库(或者可选地,安装在系统上的运行时的最新版本),但驱动程序应该与用于构建操作系统本身的完全相同的运行时链接.