12.30 誰有把舊的 C 程序轉化為 ANSI C 或相反的工具, 或者自動生成原型的工具?

有兩個程序 protoize 和 unprotoize 可以在有原型和無原型的函數 定義和聲明之間相互轉換。這些程序不能完全完成 ``經典" C  和 ANSI C 之間的轉換。這些程序是 FSF 的 GNU C 編譯器發佈的一部 分; 參加問題 18.3

GNU GhostScript 包提供了一個叫 ansi2knr 的程序。

從 ANSI C 向舊式代碼轉化之前, 請注意這樣的轉化不能總是正確和自動。 ANSI C 引入了 K&R C 沒有提供的諸多新功能和複雜性。你得特別小心 有原型的函數調用; 也可能需要插入明確的類型轉換。 參加問題 11.4 和 11.28

存在幾個類型生成器, 其中多數都是對 lint 的修改。1992 年 3 月在  comp.sources.misc 上發佈了一個叫做 CPROTO 的程序。 還有一個叫做 ``cextract" 的程序。很多供貨商都會隨他們的編譯器提供 類似的小工具。參見問題 18.18。但在為 ``窄" 參數的舊函數生 成原型可要小心; 參加問題 11.4

翻譯朱群英、孫雲, LaTeX2HTML 編譯 朱群英 (2005-06-23)