Windows驱动开发需要注意的细节

Windows驱动开发需要注意的细节

此“Hello, World”示例与 C++ 程序一样简单。 现实世界中的程序通常有头文件、更多源文件和指向库的链接。

你可以使用本演练中的步骤来创建自己的 C++ 代码,而不是键入所示的示例代码。 还可通过这些步骤生成你在其他位置看到的许多 C++ 代码示例程序。 你可以在任何可写目录放置源代码并生成应用。 默认情况下,Visual Studio IDE 在用户文件夹的“source\repos”子文件夹中创建项目。 旧版本可能会将项目放入 Documents\Visual Studio <version>\Projects* 文件夹中。

若要编译包含其他源代码文件的程序,请在命令行上将它们全部输入,例如:

cl /EHsc file1.cpp file2.cpp file3.cpp

/EHsc 命令行选项指示编译器启用标准 C++ 异常处理行为。 如果没有它,则引发的异常可能导致未受损对象和资源泄漏。 有关详细信息,请参阅 /EH(异常处理模型)。

提供其他源文件时,编译器会使用第一个输入文件创建程序名。 在本例中,编译器输出一个名为 file1.exe 的程序。 若要将名称更改为 program1.exe,请添加 /out 链接器选项:

cl /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe

若要自动捕获更多编程错误,我们建议使用 /W3 或 /W4 警告级别选项进行编译:

cl /W4 /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe

编译器 cl.exe 还有很多选项。 可以应用这些选项来生成、优化、调试和分析你的代码。 如需快速列表,请在开发人员命令提示下输入 cl /?。 你还可以单独编译和链接,并在更复杂的生成方案中应用链接器选项。 有关编译器和链接器选项及用法的详细信息,请参阅 C/C++ 生成参考。

可以使用 NMAKE 和生成文件、MSBuild 和项目文件或 CMake 在命令行上配置和生成更复杂的项目。 有关使用这些工具的详细信息,请参阅 NMAKE 参考、MSBuild 和 Visual Studio 中的 CMake 项目。

C 和 C++ 语言相似,但并不相同。 MSVC 编译器使用一个简单的规则来确定在编译代码时使用哪种语言。 默认情况下,MSVC 编译器将以 .c 结尾的文件视为 C 源代码,将以 .cpp 结尾的所有文件视为 C++ 源代码 。 要强制编译器将所有文件视为独立于文件扩展名的 C++,请使用 /TP 编译器选项。

(定制Windows驱动)

MSVC 编译器包括符合 ISO C99 标准的 C 运行时库 (CRT),只有几个较小例外。 可移植代码通常按预期方式进行编译和运行。 MSVC 编译器弃用了某些过时的库函数和多个 POSIX 函数名。 这些函数仍然受支持,但首选名称已更改。 有关详细信息,请参阅 CRT 中的安全功能和编译器警告(级别 3)C4996。

(0)

相关推荐