gpt4 book ai didi

windows - 在不使用微软编译器的情况下开发 Windows 驱动程序

转载 作者:可可西里 更新时间:2023-11-01 09:35:32 25 4
gpt4 key购买 nike

我的团队有一个 C 语言代码库,用于不同平台的多个嵌入式系统。我们有一群人正试图将此代码库的一部分移植到 Windows 驱动程序中。但是,Microsoft 编译器的某些方面与我们现有的代码库不一致(C99 功能等)。我们尝试在产品之间保持通用代码库并避免为某些平台创建分支,但特定于 Windows 的解决方法和 #ifdefs 的数量越来越多。

有没有办法使用 Microsoft 以外的编译器构建 Windows 驱动程序?我们的代码库在 gcc 和 GreenHills 下编译良好,我们也应该能够在其上使用 Intel C 编译器(我们已经尝试了一段时间,但它应该仍然有效)。能够使用不同的编译器将有助于保持我们的代码更简洁,而且还可以节省我们的时间和精力。我们能够找到的所有文档都提到了使用 Visual Studio 或 Windows DDK。

如果确实需要 Microsoft 编译器或 DDK,是否可以使用其他编译器将我们的大部分代码构建为静态库,然后使用 Windows DDK 围绕该库创建包装器?

最佳答案

即使你编译成功我也不推荐这样的东西。您永远无法知道副作用。唯一要使用的编译器是 WDK 中的编译器(它已合并到 VS2012 中)。即使是 MS 非 WDK 编译器(VS2012 之前的任何 VS 版本)也不适合这里。

同样的答案也适用于使用其他编译器构建库并将其与 MS 编译器链接。这不是“如何愚弄操作系统”的问题,而是“如何做正确的事情”的问题。我想您可以使用其他编译器编译有限的部分代码(例如,在 MS 不支持的 C99 中编译代码),但这是有风险的。

关于windows - 在不使用微软编译器的情况下开发 Windows 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6351459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com