付録  ILE−RPGからCを呼び出す
RPGプログラマーの為のC言語講座

ILE−RPGからCを呼び出す場合の、サンプルコードです。

ILE-RPGの場合は、戻りコードもうけとれます。

Cを呼び出すPGM PROG2R

     H DATEDIT(*YMD/)
     H*---------------------------------------------------------------*
     H* PROGRAM-ID    :    PROG2R                                     *
     H* REMARKS       :   Cを呼び出すPGM                 *
     H* AUTHOR        :    Y.IDE                                      *
     H* DATE-WRITEN   :    1999/8/15                                  *
     H* VERSION       :    01.00 ORIGINAL                             *
     H*---------------------------------------------------------------*
     DPROG2            PR            10I 0 EXTPROC('PROG2')
     D                               10
     D                               10I 0 VALUE
     D STRING          S             10
     D INT4            S             10I 0
     D RC              S             10I 0
     C*
     C                   MOVEL     '12345678'    STRING
     C                   Z-ADD     123           INT4
     C*
     C                   EVAL      RC = PROG2(STRING : INT4)
     C*
     C                   SETON                                        LR
     C                   RETURN
     C*

RPGから呼び出されるPGM PROG1C

/*---------------------------------------------------------------*/
/* PROGRAM-ID  : PROG2C                                          */
/* REMARKS     : RPGから呼び出されるPGM                     */
/* AUTHOR      : Y.Ide                                           */
/* DATE-WRITEN : 1999/8/15                                       */
/* VERSION     : 01.00 ORIGINAL                                  */
/*---------------------------------------------------------------*/
/* ILE RPGから呼ばれるプログラム                    */
/* RPGからはポインター渡および値渡しでパラメーターを受け取る*/

#include<stdio.h>

int  PROG2(char *p1, int p2 ) {

printf("P1 = %s \n",p1);
printf("P2 = %d \n",p2);

 return 0 ;

}