ツリー (具体的にはツリーの種類) をバイナリ形式でファイルに保存したいのですが、このツリーを他のコンパイル ユニットにロードする必要があります。例えば:
私は2つの機能を持つmain.cを持っています:
myTypeStruct getWhatever(){
myTypeStruct my;
... doSomething ...
return my;
}
int main(){
myTypeStruct my = getWhatever();
... doSomething else with my...
}
構造体の型 ( myTypeStruct ) を保存し、test.c を含む別のコンパイル ユニットに次のようにロードします。
int main(){
... doSomeTest ...
}
gcc プラグインを使用して、型をロードし、その型の変数を作成して、test.c を次のように変換します。
int main(){
myTypeStruct my;
... doSomething with my...
... doSomeTest ...
}
ツリーは tree_node へのポインターであり、tree_node は構造の結合であることを知っています。問題は、ツリーがそれと関係を持ち、一連の理解できない構造を持っていることです。特定の型の変数を作成するときに、どのデータにツリーが必要かを知る必要があります。
PD: LTO がそのようなことを行う方法についてのドキュメントが不十分です。PD2: 私の英語でごめんなさい