2011-10-23 72 views
2

我有一個已經過測試,按預期工作文件:如何創建代碼塊和gcc編譯頭

#ifndef PROMOTE_H_INCLUDED 
#define PROMOTE_H_INCLUDED 
#include <boost/mpl/vector.hpp> 
#include <boost/mpl/find.hpp> 
#include <boost/mpl/next.hpp> 
#include <boost/mpl/deref.hpp> 


template<class Integral> 
struct Promote 
{ 
    typedef boost::mpl::vector<char,short,int,long,long long> types; 
    typedef typename boost::mpl::find<types,Integral>::type this_type; 
    typedef typename boost:: mpl::next<this_type>::type next_type; 
    typedef typename boost::mpl::deref<next_type>::type type; 

}; 
#endif // PROMOTE_H_INCLUDED 

每次我改變的東西在我的項目文件被編譯一遍又一遍這是位檻。我試圖搜索網絡,我發現:
http://gcc.gnu.org/onlinedocs/gcc/Precompiled-Headers.html 但說實話我只是沒有看到任何地方有指示如何創建預編譯頭。那麼,任何人都可以一步一步告訴我如何使用code :: blocks做到這一點?
謝謝。

回答

1

從您鏈接文檔:

To create a precompiled header file, simply compile it as you would any other file, if necessary using the -x option to make the driver treat it as a C or C++ header file.

所以:

g++ -x c++ -o header.gch -c header.h 

的C++代碼將創建預編譯頭。

它不會加速構建過程中的方式,但你似乎希望它雖然。如果您更改該標題,則需要更新預編譯標題及其所有依賴項。

+1

因此,在代碼塊中,我想放置它嗎? – smallB

+0

http://wiki.codeblocks.org/index.php?title=預編譯頭文件 – Mat

+0

-o不能與-c一起使用。這是我從gcc獲得的信息 – smallB