我正在創建一個依賴大量boost庫的軟件,並且隨着編譯變得越來越慢(分鐘),我已經打包了所有使用過的庫在一個預編譯頭文件中(比如20-ish boost libs和20 std libs),希望它能解決這個問題。使用boost庫的預編譯頭文件需要非常長的編譯
今天,我意識到一個香草hello-world.cpp(甚至不包括該死的預編譯頭文件)在我編譯時使用預編譯頭文件需要15s來構建。預編譯頭文件大小爲300MB左右。
因此,問題是:
-is那種放緩的預期,這種規模的預編譯頭? (我特別希望我犯了某種mon mistake不馴的錯誤,如果你們其中一位可以告訴我他經常使用2GB預編譯頭文件,並且事情很順利),我會非常高興
- 如果這種預計會減速,然後我完全不相信預編譯頭文件的有用性。我錯過了什麼嗎?
編譯:
gcc version 4.4.5 (Debian 4.4.5-8)
命令行:
g++ -include common-header.hpp -Winvalid-pch -c vanilla-hello-world.cpp
通過預編譯你的意思是預處理?標題不是獨立的翻譯單元,不能根據我的知識進行「預編譯」。 – djechlin 2013-03-01 17:55:04
thats vanilla-hello-world.cpp和Gurg如果需要15秒才能構建一個不包含頭文件的編程,那麼就存在一個問題。 – nsthethunderbolt 2013-03-01 17:56:34
這是[鏈接](http://en.wikipedia。org/wiki/Precompiled_header),然後 – 2013-03-01 17:56:53