Files in directory tcl/module_basic in any check-in
- Makefile
- mymod.c
- mymod.h
- README.md
- test.tcl
Tclのモジュール作る
ClientData
Tcl_CreateObjCommand
の第4引数で登録したものが何もせずにそのまま渡ってくる。
- FooModule_Initで初期化時に生成したモジュールグローバルなデータ
- 別のコマンド内で何かのオブジェクトとそれを操作するコマンドを生成した際
などに使える。
第5引数で登録したdeleteProc
が呼ばれる際も渡ってくるので、finalizeやfreeに使う。
ビルドオプション
-shared
そのまま共有ライブラリ
-fPIC
PICはPosition-Independent Code。
共有ライブラリを作るときに使う。
-fpic
だと少し速くなるが、サイズが制限される場合がある。
位置独立じゃない共有ライブラリってどう使うんだろう?
-g
デバッグ。関数のインライン化など防ぐ。
-g0
だとインライン化には影響を与えない。
-nostartfiles
Tclがやってくれるからいらないのかな。