0
私は外部ライブラリからいくつかのテンプレート関数を使う私のC++コードで非常に長いコンパイル時間に問題があります。スピードアップテンプレート関数コンパイル
例:何とか別のヘッダファイルに新しい関数に
funA := fun<A>
を定義し、それを事前にコンパイルについて
//fun.h
template <class T>
T fun(T in){
...
}
//main.cpp
#include fun.h
class A{...};
int main(){
A a,b;
...
b=fun<A>(a); //this line causes the long compilation time, because fun is really complicated
...
}
私は考えています。ですから、main.cppを変更するたびにビルドする必要はありません。
fun<A>
もう一度もう一度やり直してください。しかし、私はそれをどうやって行うのか分かりません。私はあなたが単にクラスを持っていると思います。
typedef class<A> classA;
は、あらかじめコンパイルされたヘッダーで書かれていると思います。しかし、どのように関数でそれを行うには?
は、どのくらいの時間* *非常に長いのですか?コードは本当に複雑ですか?それは他の多くのテンプレートをインスタンス化しますか? –
GCCでは、プリコンパイル済みヘッダーファイルを使用できます。 –