コマンドの拡張とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > コマンドの拡張の意味・解説 

コマンドの拡張

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/10 13:51 UTC 版)

Tcl/Tk」の記事における「コマンドの拡張」の解説

コマンドには、Tcl パーサーにあらかじめ実装されているビルトインコマンドと、ユーザーにより作成され拡張コマンドがある。ユーザーによる拡張コマンド実装は簡単である。まず、C言語などで「コマンド本体関数」と「登録用関数」を記述し、ダイナミックリンクライブラリファイルに格納する。そして組み込みコマンドload用いて拡張コマンド登録するload hello.dll hello load コマンド引数には、「ライブラリファイル名」と「登録用コマンド名」を与える。load コマンドは、登録用コマンド名から「登録用関数」名を求め、これを実行してくれる。例えhello コマンドであれば Hello_Init を実行してくれる。この「登録用関数」の中に本当の登録処理を記述しておく。従って、例えload コマンド渡したコマンド名にライブラリ名の意味持たせ、「登録用関数」の中で複数コマンド登録してしまうことも可能である。 「本当の」コマンド登録はC言語インターフェース用の関数の Tcl_CreateCommand や Tcl_CreateObjCommand を用いて行う。拡張コマンド実体となる「コマンド本体関数」を、決められた型と引数に従って先に定義しておき、そのコマンド関数アドレス公開コマンド名を引数与えて実行すれば登録されるコマンド登録関数 int Hello_Init (Tcl_Interp *interp) { Tcl_CreateObjCommand (interp, "hello", Tcl_HelloCmd, NULL, NULL) ; return TCL_OK ; } コマンド本体関数 int Tcl_HelloCmd (ClientData dummy, Tcl_Interp *interp, int objc, Tcl_Obj *CONST objv []) { ... return TCL_OK ; } コマンド本体関数は、Tcl パーサーからの引数を、引数の数(argc)と引数文字列配列(argv)で受け取る。ただし、引数文字列受け取この方式は Tcl_CreateCommand 関数登録する場合であり、引数Tcl オブジェクト受け取りたい場合には、上例のように Tcl_CreateObjCommand 関数登録する

※この「コマンドの拡張」の解説は、「Tcl/Tk」の解説の一部です。
「コマンドの拡張」を含む「Tcl/Tk」の記事については、「Tcl/Tk」の概要を参照ください。

ウィキペディア小見出し辞書の「コマンドの拡張」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「コマンドの拡張」の関連用語

コマンドの拡張のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



コマンドの拡張のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのTcl/Tk (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS