「-m」オプションを使用してメインプログラムに対してもコンパイラの出力形式を指定することにより、サブルーチンだけでなくすべてのopensource COBOLプログラムの実行可能モジュールを生成できる(8.1.4で説明したように、これは推奨されているサブルーチンの出力形式オプションである)。
opensource COBOLメインプログラムをこれらの動的にロード可能なモジュールにコンパイルして、「メインプログラムなのかサブルーチンなのか」を考えずに、すべてのプログラムに共通の一般的なコンパイルコマンドを使用することを好む人もいる。
この方法でコンパイルされたメインプログラムは、次のように実行する必要がある:
[path]cobcrun program [arguments]
プログラム名に「.so」または「.dll」拡張子を指定してはならない。「プログラム」の値は、メインプログラムのPROGRAM-ID(大文字と小文字を含む)と正確に一致する必要がある。
cobcrunの使用例:
cd /usr/local
cobcrun printaccount ACCT=6625378
または
cd C:\Users\Me\Documents\Programs
cobcrun printaccount.exe ACCT=6625378
cobcrunコマンドでは、プログラム名でパスを指定できないことに注意が必要である―プログラムの動的ロード可能モジュールが存在するディレクトリは、現在のディレクトリであるか、現在のPATHで定義されていなければならない。