これは、Ubuntu Online、Fedora Online、Windowsオンラインエミュレーター、MACOSオンラインエミュレーターなどの複数の無料オンラインワークステーションのXNUMXつを使用してOnWorks無料ホスティングプロバイダーで実行できるコマンドrootcintです。
プログラム:
NAME
rootcint-ROOTディクショナリジェネレータ
SYNOPSIS
ルートチント ヘッダーファイル[+] [-] [!] ... [LinkDef.h]> dict_file
ルートチント [-NS] dict_file [-NS] ヘッダーファイル[+] [-] [!] ... [LinkDef.h]
DESCRIPTION
当学校区の ルートチント プログラムはを生成します Streamer(), Tバッファ &operator >>() ShowMembers()
メソッド ROOT クラス、すなわち、を使用するクラス クラス定義 クラスインプ マクロ。 の
添加 ルートチント を生成することもできます CINT アクセスするために必要な辞書
通訳によるものクラス。
ルートチント 次のように使用できます:
ルートチント TAttAxis.h [-] [!] ... [リンク定義.h] > AxisGen.C
or
ルートチント [-NS] [AxDict.C] [-NS] TAttAxis.h [-] [!] ... [リンク定義.h]
XNUMXつの違いは、最初のケースでは Streamer()
ShowMembers() メソッドが生成されますが、後者の場合は完全なコンパイル可能なファイルです
生成されます(includeステートメントを含む)。 最初の方法でも出力が可能です
既存のファイルに追加する(を使用して >> )。 オプションのマイナスの後ろ
ファイル名を含めると ルートチント 生成しない Streamer() 方法。 カスタムメソッド
その場合、ユーザーが提供する必要があります。 オプションを使用する場合 -c 通訳も
メソッドインターフェイススタブは出力ファイルに書き込まれます( AxDict.C 上記の場合)。
デフォルトでは、出力ファイルが存在する場合、それは上書きされません。 使用 -f (力) オプション
出力ファイルを上書きします。
最初のヘッダーファイルを指定する前に、インクルードファイルディレクトリを追加することもできます
検索およびプリプロセッサは、次のように定義します。
-I $ ../ include -DDebug
(オプションの)ファイル LinkDef.h 次のようになります。
#ifdef __CINT__
#pragmaはすべてのグローバルをリンクします。
#pragmaはすべてのクラスをリンクします。
#pragmaはすべての機能をリンクします。
#pragma link C ++クラスTAxis;
#pragma link C ++クラスTAttAxis-;
#pragma link C ++クラスTArrayC- !;
#pragma link C ++関数StrDup;
#pragma link C ++関数operator +(const TString&、const TString&);
#pragma link C ++グローバルgROOT;
#pragma link C ++グローバルgEnv;
#pragma link C ++列挙型EMessageTypes;
#endif
このファイルは ルートチント どのクラスに対して、メソッドインターフェイススタブを生成する必要があります。
クラス名の末尾の `-'は ルートチント 生成しない Streamer() 方法。
これは、カスタマイズが必要なクラスに必要です Streamer() 方法。 トレーリング
「!」 クラス名で ルートチント 生成しない 演算子>>(TBuffer &NS、 私のクラス
*&obj) 方法。 これは、クラスのオブジェクトへのポインタを書き込めないようにするために必要です。
から継承 TObject。 このファイルが指定されていない場合、デフォルトのバージョンは
インクルードファイルからインクルードファイルを引いたものに等しい名前のクラス .h が生成されます。
重要:
1 LinkDef.h の最後の引数である必要があります ルートチント command ライン。
2注意してください リンク定義 ファイル名には次の文字列が含まれている必要があります。 LinkDef.h or リンク定義.h,
すなわち NA49_LinkDef.h のように大丈夫です、 mylinkdef.h.
onworks.netサービスを使用してrootcintをオンラインで使用する