0

私は c++ で tcl コマンドを評価しており、そのために Tcl_createInterp() API を使用して c++ で tcl インタープリターを作成しています。私が理解しているのは、インタープリターはTCLのコマンドを実行するプログラムです。しかし、1 つばかげた質問があります。Tcl_createInterp() によって返されるポインターは何を指していますか? メモリ内の TCL のプログラムの場所を指していますか? この質問は私のプロジェクトとは何の関係もないことはわかっていますが、バックエンドを理解しようとしているだけです。

4

1 に答える 1

0

これは、スクリプト評価コンテキストを定義する内部実装構造へのポインターです。スクリプト内のすべての「グローバル」値がグローバルであり、実装へのコマンド名のマッピングを定義するのは、そのコンテキストです。その実装 (およびそれが依存するもの) は、Tcl ライブラリーが行うことの大部分です。

C++ の用語では、 PIMPL パターンを使用しているものを扱っているかのように扱います。8.6以降、それが指すものにユーザーがアクセスできるフィールドはまったくありません(また、以前のバージョンでも実際に内部を見ることは想定されていません)。

于 2013-06-12T14:44:08.870 に答える