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