27. dynlink ライブラリ:オブジェクトファイルの動的読み込みと動的リンク

dynlink ライブラリはバイトコードプログラム実行中に、バイトコードオブジェクトファイル (.cmo.cma) の動的ロードとリンクを提供します。この動的ロードは型の安全性が保証されています。これは、ロードされたオブジェクトファイルがアクセスできる実行プログラムのモジュールを制限して、そのモジュールに対して実行プログラムとオブジェクトファイルが同じインターフェイスを用いてコンパイルされているかチェックすることで実現されています。

dynlink ライブラリを使ったプログラムは、そのオブジェクトファイルや他のライブラリに加え、dynlink.cma をリンクする必要があります。動的リンクは ocamlc でコンパイルされたバイトコードプログラムでのみ使用できます。 ocamlopt でコンパイルされたネイティブコードプログラムでは使用できません。