COBOLから呼ばれる時
COBOLプログラムから呼び出され、ファイルのレコードを一行読んでレコードの内容を返すというcサブルーチンを作っているのですが、COBOL←→c間でのインタフェースの扱いかたがよくわからなくて困っています。(ちなみにこのモジュールはcからも呼ばれる事がある)
COBOLはコピー句(test001.cbl, test002.cbl)に値を入れて、cサブルーチンにそれを渡しています。
テストはCOBOL85を使用してるので、cサブルーチンの中のデータを見ることができません。なので、返ってくるコピー句の中身を見るのですが、とにかく値が設定されてかえってこないのです。ただ単にロジックのバグと言う可能性もあるけど(^^;
私はインタフェース環境の事がまだ良く解っていないので、今回こちらに質問した次第です。経験者の方がいましたら、どうかおしえてください。
あ、それからCOBOLから渡される値は、c側では全てchar型で受け取らなければいけないような話しを聞いたのですが、本当でしょうか?
もう一つ。
コピー句の中で「F-CODE PIC X(2)」のようにハイフンがあるのですが、cではハイフンが使えないからダメなんでしょうか?
たくさん質問してしまいましたが、どうかよろしく。
/COBOL側/
--------------------------------------------------
CALL 'TEST1' USING BY VALUE TEST001 TEST002.
--------------------------------------------------
/cサブルーチン側/
--------------------------------------------------
int TEST1(test001, test002)
char *test001;
char *test002;
{
・
・
・
return (0);
}
--------------------------------------------------
補足
お応えありがとうございます。 いろいろと検索をしているのですが、URLが見つかりません。もし知っていましたら教えて頂けませんでしょうか? 当然シェアですよね?! 宜しくお願いします。