我的团队有一个C语言代码库,用于不同平台的几个嵌入式系统。我们有一群人试图将这个代码库的一部分移植到Windows驱动程序中。然而,微软编译器的某些方面与我们现有的代码库(C99特性等)并不协调。我们试图在产品之间保持一个通用的代码库,并避免为某些平台创建分支,但特定于Windows的变通方法和#ifdefs的数量正在变得混乱。
有没有办法使用微软之外的编译器来构建Windows驱动程序?我们的代码库在gcc和GreenHills下编译得很好,我们也应该能够在它上使用英特尔C编译器(我们已经尝试了一段时间,但它仍然可以工作)。能够使用不同的编译器将有助于保持我们的代码更整洁,而且还可以节省我们的时间和精力。我们能够找到的所有文档都指的是使用Visual Studio或Windows DDK。
如果确实需要Microsoft编译器或DDK,是否可以使用其他编译器将我们的大部分代码构建为静态库,然后使用Windows DDK在该库周围创建包装器?
发布于 2012-10-23 21:33:20
即使你编译成功了,我也不推荐这样的东西。你永远不会知道副作用。唯一要使用的编译器是WDK中的编译器(它被合并到VS2012中)。即使是MS非WDK编译器(VS2012之前的任何VS版本)也不适合这里。
同样的答案也适用于使用其他编译器构建库,并将其与MS one链接。这不是“如何欺骗操作系统”的问题,而是“如何做正确的事情”的问题。我认为你可以用其他编译器编译有限的代码部分(例如,用C99编译MS不支持的代码),但这是有风险的。
https://stackoverflow.com/questions/6351459
复制相似问题