首页 > 解决方案 > Visual C++ UMDF V2 模板似乎创建了一个 C 项目,而不是 C++

问题描述

我是驱动程序开发的新手。我被要求为一个简单的 USB 设备编写通用模式驱动程序。我一直在阅读“使用 Windows 驱动程序基础开发驱动程序”一书。我也一直在查看并试图理解本书所引用的代码示例。这本书展示了 C++ 代码,而我一直在看的代码示例都是用 C++ 编写的。我什至不得不复习 C++,因为我在本世纪还没有看过它。使用 VS 2017,当我从模板创建项目时,我选择 Visual C++ -> Windows 驱动程序 -> WDF -> 用户模式驱动程序 (UMDF V2)。项目创建后,从表面上看,它是一个 C 项目,而不是 C++ 项目。我只是困惑吗?好吧,答案是肯定的,但是为什么它会创建一个包含扩展名为 .c 而不是 .c 的文件的项目。cpp 什么时候清楚我选择了 Visual C++ 模板?对于 newby 设备驱动程序有什么见解吗?

标签: c++visual-studio-2017umdf

解决方案


UMDF 2 旨在使最终将驱动程序更容易地移植到 KMDF。由于 C++ 不能真正在内核模式下使用,UMDF 2 项目默认配置为 C。如果您想使用 C++,请更改项目属性中的编译器设置,但请确保没有异常转义您的代码。


推荐阅读