Re: Calling RPGILE program from C++
Kelly Beard <[email protected]>
| Newsgroups | gmane.comp.lang.as400.c |
|---|---|
| Message-ID | <CAOvM2St-6TuCUKJymuq=petq-BAPdkbRANwx-t-i5Bqw5siXzQ@mail.gmail.com> |
Why not just use spawnp()? On Fri, Dec 19, 2014 at 6:59 AM, Jevgeni Astanovski <[email protected]> wrote: > > Hi, folks. > There was a similar discussion recently, but for C. > I know how to call an RPG program from my C program. > I write > .... > #pragma map(RetrSC, "RSC10R") > #pragma linkage(RetrSC, OS) > void RetrSC (char *, char *, scpf *, char *) ; > > main() > { > ... > RetrSC(Key, "CHAIN", &Account, &Ind). > > } > > works fine. > > Decided to experiment with C++ > Manual says that #pragma linkage is not supported. > In an example I found that it should look like this: > > #pragma map(RetrSC, "RSC10R") > extern "RPG" void RetrSC (char *, char *, scpf *, char *) ; > > main() > { > ... > RetrSC(Key, "CHAIN", &Account, &Ind). > > } > > RSC10R is not a service program, just a *PGM object. > Create module works fine, however CRTPGM generates CPD5D02: > No definition was found for reference RSC10R in *MODULE > > What should I do to be able to call an RPG program from C++ the same > way I do it from C? > > I believe that it should be pretty simple, but I've already spent 3 > hours searching in the manuals and googling.... > > TIA, > > Jevgeni. > -- > This is the Bare Metal Programming IBM i (AS/400 and iSeries) (C400-L) > mailing list > To post a message email: C400-L-Zwy7GipZuJhWk0Htik3J/[email protected] > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/c400-l > or email: C400-L-request-Zwy7GipZuJhWk0Htik3J/[email protected] > Before posting, please take a moment to review the archives > at http://archive.midrange.com/c400-l. > > -- Kelly Beard -- This is the Bare Metal Programming IBM i (AS/400 and iSeries) (C400-L) mailing list To post a message email: C400-L-Zwy7GipZuJhWk0Htik3J/[email protected] To subscribe, unsubscribe, or change list options, visit: http://lists.midrange.com/mailman/listinfo/c400-l or email: C400-L-request-Zwy7GipZuJhWk0Htik3J/[email protected] Before posting, please take a moment to review the archives at http://archive.midrange.com/c400-l.