2005-11-20 (日)
*Java at MacOS X
MacOSのgccってsharedオプションが使えない気がするのですが,どういうことでしょう?っと思ったら,何やら変なオプションがアルっぽい.
というわけで,シェアードライブラリの作り方がわかったけど,どうすればJavaから呼び出せるのか分からない….java.library.pathにカレントディレクトリがあれば,普通に読めると思ったのだけど.というわけで,調べてみると,どうもlibNAME.jnilib形式のファイル名にするらしい.専用の拡張子なのか.dylibでやってました.
JavaでCのソースを動的に生成して,Cコンパイラに放り込んでJNIで実行ということも面白いかも知れない.その場合,デフォルトでコンパイラが入ってないWindowsが厄介ですが.MacOSもgccはデフォルトでは入ってないんだっけか.
デフォルトといえば,最初からjava.library.pathの先頭にカレントディレクトリが入ってますが,これはセキュリティ上問題になったりしないのかな.