我的團隊擁有一個C語言代碼庫,可用於多個不同平臺的嵌入式系統。我們有一羣人試圖將此代碼庫的一部分移植到Windows驅動程序中。但是,Microsoft編譯器的某些方面不會與我們現有的代碼庫(C99功能等)進行切換。我們試圖保持產品之間的通用代碼庫,並避免爲某些平臺創建分支,但Windows特定的解決方法和#ifdefs
的數量正在變得混亂。在不使用Microsoft編譯器的情況下開發Windows驅動程序
有沒有一種方法可以使用Microsoft以外的編譯器構建Windows驅動程序?我們的代碼庫在gcc
和GreenHills下編譯得很好,我們也應該能夠使用它的Intel C編譯器(我們已經嘗試了一段時間,但它應該仍然有效)。能夠使用不同的編譯器有助於保持我們的代碼更清潔,並且可以節省我們的時間和精力。我們所能找到的所有文檔都是指使用Visual Studio或Windows DDK。
如果確實需要Microsoft編譯器或DDK,是否可以使用其他編譯器將大量代碼構建爲靜態庫,然後使用Windows DDK爲該庫創建包裝?
您現在使用的是哪種版本的編譯器? – selbie 2011-06-15 06:12:42
我們正在使用與當前Windows DDK一起打包的任何內容。構建實際上是在自動構建服務器上完成的,所以我沒有在我面前獲得它的副本以獲取確切的版本號。 – bta 2011-06-15 22:13:24
從構建窗口:只需鍵入cl.exe,不帶任何命令行參數。版本16.x是與Visual Studio 2010相對應的最新版本。如果DDK/WDK是舊版本,則可能安裝Visual C++ express,然後修復DDK構建環境以使用該編譯器。 – selbie 2011-06-16 07:38:13