程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> [C/C++]_[使用boost後項目編譯很慢的解決辦法]

[C/C++]_[使用boost後項目編譯很慢的解決辦法]

編輯:C++入門知識

場景:使用boost庫的正則模塊時出現編譯超慢的情況,看了頭文件

[cpp] 
#include <boost/regex.hpp> 

的引用關系,它依賴的頭文件相當多,這應該就是根本原因吧。
目前知道可行的方案只有使用預編譯頭,可能在cpu比較低的電腦才明顯發現.而且只有在修改代碼後增量編譯才會出現這個問題。 www.2cto.com

--- 可以節省20秒時間,使用boost庫時.

1.預編譯頭文件生成,同理,如果使用vc++的話一樣是有自己的生成方式.
g++ -o /E/software/Lib/common/boost-1.46.1/win32/release/share/include-gch/StdAfx.h.gch -x c++-header  -c src/StdAfx.cpp -g -Wall -IE:/software/Lib/common/boost-1.46.1/include

2.只能放在.cpp文件第一行,注意,不是.h文件,不然會有提示錯誤,否則它前面的內容會被忽略.
include/data/schema_analyse.h:11:20: error: StdAfx.h: No such file or directory
有個問題沒解決,雖然沒遇到.
3.但是不放在頭文件裡有個問題,就是頭文件包含了第3方庫的結構體,類成員變量時,就又是需要包含第3方庫的頭文件,這樣又會編譯慢了.也就是說如果頭文件裡使用指針,引用類型的變量就可以很好的利用預編譯頭文件.但是如果繼承了呢?

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved