2012-04-22 52 views

回答

4

對於GHC,您可以更改和重新編譯單個模塊,而無需重新編譯模塊(具體取決於該模塊),前提是暴露的接口不會更改。 GHC的--make模式(默認爲ghc-7。*)會檢查是否需要重新編譯,並僅重新編譯那些無法確定不需要的模塊。

如果你有改變一個模塊後,一個陰謀包,你cabal build,您可以從編譯器的輸出看,它並沒有重新編譯所有模塊封裝在一般情況下,僅將更改的模塊和[也許]的那些視在上面。

如果您構建可執行文件,那當然必須重新鏈接,但許多舊的目標文件可以重複使用。

如果建立一個庫,當然必須重建庫存檔,但許多舊的對象文件可以重複使用。

+4

對於感興趣的,[GHC評論解釋了這是如何工作的詳細](http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/RecompilationAvoidance)。 – hammar 2012-04-22 12:52:07

相關問題