##inline-stubを埋め込んだコードを実行時にコンパイルできるようにするものです。コンパイルが行われるのは、初回実行時だけなので、最初はちょっとロードに時間がかかりますが、2回目以降はすぐに起動できます。
#実行時にコンパイルするだけでなく、Gaucheのprecompile機能を使って、あらかじめモジュール全体をコンパイルしておくこともできます。
#お手軽にC(CiSE)のコードを埋め込めるので、Cのライブラリを呼び出したい時とか、ボトルネックの箇所を高速化したい時とかに便利かと思います。
#以前にもc-wrapperとかdyncompとか作ってましたが、こちらはGauche標準のgauche-packageとprecompを呼び出すだけなので、基本的にGaucheが動けばどこでも動くはずです。
#(ただ、gauche-packageはWindows環境に対応していない?)
#まあ、最悪このモジュールが動かなくなっても、Gauche本体のprecompを使えば、そのままコードが生かせると思います。
#Windows環境でのコンパイラ呼び出しには少なくともMSYSが必要ですね…あと、Gaucheインストールパスに空白が入ってるとやばそう。
#MinGWは入れているのですが、gauche-packageの実行で、こんなエラーが出てきます。
#C:\>C:\Gauche\lib\gauche-0.9\0.9.5\x86_64-pc-mingw64\gauche-package.exe compile "--output=C:\Users\naoki\.local\lib\compile-stub\gauche-0.9\site\x86_64-pc-mingw64\hello\xf95b37856c0de9af972aea3939dbb545915c0adc.dll" --verbose xf95b37856c0de9af972aea3939dbb545915c0adc C:\Users\naoki\.local\lib\compile-stub\gauche-0.9\site\x86_64-pc-mingw64\hello\xf95b37856c0de9af972aea3939dbb545915c0adc_lib.stub
*** ERROR: cannot find "gauche/collection" in ("C:\\Gauche\\lib\\gauche-0.9\\0.9.5\\share\\gauche-0.9\\site\\lib" "C:\\Gauche\\lib\\gauche-0.9\\0.9.5\\share\\gauche-0.9\\0.9.5\\lib" "C:\\Gauche\\lib\\gauche/site/share\\gauche-0.9\\0.9.5\\lib" "C:\\Gauche\\lib\\gauche/0.9/share\\gauche-0.9\\0.9.5\\lib")
While compiling "(input string port)" at line 35: (use gauche.collection)
While loading "(input string port)" at line 35
Stack Trace:
_______________________________________
#GaucheはC:\Gaucheに入れています。
#あれ、なんかload-pathが妙ですね。普通にgosh起動して*load-path*見るとどうなりますか? (Gauche\share\gauche-0.9\0.9.5\lib とかが出てくるはず)
#gosh> *load-path*
("C:\\Gauche\\share\\gauche-0.9\\site\\lib" "C:\\Gauche\\share\\gauche-0.9\\0.9.5\\lib" "C:\\Gauche\\share\\gauche/site/lib" "C:\\Gauche\\share\\gauche/0.9/lib")
#こんな感じです
#素のgoshからだと、(use gauche.collection)はうまくいきます。
#むー。Windowsのgauche-packageはScm_SimpleMain経由で起動してるんだけどmaybe_prepend_install_dirがちゃんと動いてないのかな