我有一個乾淨的符合標準的代碼庫,我可以用GCC的「-ansi -pedantic-錯誤-Wextra」編譯器等。編譯期間從乾淨的代碼中分離出「髒」C代碼的最佳方式是什麼?
但現在我需要使用源代碼庫關聯的頭是絕對不是乾淨的代碼。
什麼是最好的方法來隔離我自己的代碼,以便我仍然可以嚴格編譯我的代碼,但可以允許第三方代碼寬大處理?
我有一個乾淨的符合標準的代碼庫,我可以用GCC的「-ansi -pedantic-錯誤-Wextra」編譯器等。編譯期間從乾淨的代碼中分離出「髒」C代碼的最佳方式是什麼?
但現在我需要使用源代碼庫關聯的頭是絕對不是乾淨的代碼。
什麼是最好的方法來隔離我自己的代碼,以便我仍然可以嚴格編譯我的代碼,但可以允許第三方代碼寬大處理?
沒有好方法。
您可以重新編寫源代碼庫標題,小心保持所有的調用類型和返回類型。很多工作。
您可以在自己的圖書館前端使用圖書館,這只是一個傳遞。更多的工作。
您可以將庫的使用與幾個模塊分開。然後,用放鬆的選項編譯這些模塊。這是多少工作取決於你的應用程序的編寫方式。這可能是最好的方法。
構建您的構建環境,以便您將良好的代碼依賴於不良的庫代碼。此外,請確保通過使用不同選項單獨編譯庫代碼來解決依賴關係。這將允許您分別構建兩個,但表示依賴項,這將實現用單個命令構建整個項目。 我是抽象的,因爲我不知道你的構建環境。假設你正在使用makefile,你可以用目標玩一下,並達到目的。
在項目之前靜態編譯庫。讓你的項目參考庫標題並鏈接它。
如果庫標頭真的很糟糕,只需在它們周圍寫一些簡單的包裝。