2017-10-24 29 views
2

GnuCobolで使用するMicrofocusのコンパイラ用に作成されたCOBOLプログラムのセットを変換しています。これまでのところ、私は中程度の成功を収めてきました.GnuCobolの-std=mf引数を使って、いくつかのマイクロフォーカス固有の日付コマンドを変更するだけでした。GNUCobol(OpenCOBOL)エラー:libcob:モジュール '»'が見つかりません

私が正常にコンパイルした後、特定のファイルを実行しているとき、私はこのエラーに問題を抱えているwww.arnoldtrembley.com/GnuCOBOL.htm

から事前に構築されたビルドを使用しています:私は、OpenCOBOLIDEで遊ん後

libcob: module '»' not found 

違反行が見つかりました

CALL X"AF" USING SET-BIT-PAIRS 
           USER-KEY-CONTROL 

これを解決するにはどうすればよいですか?

答えて

2

あなたはその部分を再コード化する必要があります。 GnuCOBOLは、番号付きのシステムサポートルーチンのうちのいくつかをサポートしています。 x "91"、x "E4"、x "E5"、x "F4"、x "F5" x "AF"は組み込みシステムライブラリルーチンのリストにまだありません。サポートされているものでも、すべてのサブ機能の処理は含まれていません。

x "AF"は画面関連です(少なくとも私が見た1ページのドキュメントから)、おそらくエスケープコードを端末に送信し、CALLの代わりにDISPLAYを使って手動で行うことができます。

x "AF"サブ機能が呼び出されている(SET-BIT-PAIRSにあるものは何でも)ことを知らなければ、特定のVT100シーケンスを試してみることはできません。それが単純にサブ機能18であれば、1文字のアドバンシングなしのDISPLAYで十分でしょう。サブ機能22は、Ctrl-Gを放つことによって行うことができる端末ベルを鳴らすことを意味する。 etc

好奇心が強い場合は、cobc --list-systemを実行してください(または、あらかじめ組み込まれているパッケージに含まれているGnuCOBOLマニュアルを参照してください)。GnuCOBOLでサポートされているストックシステムライブラリ呼び出しを確認してください。

あなたが冒険しているのであれば、コンパイラのソースコードツリーを自由に見て、CALL番号をC関数にリンクしてlibcob/system.defを新しいソースからのGnuCOBOLの登録と再構築。

関連する問題