Re: ILE C++ standards
Calvin Buckley <[email protected]> Tue, 14 Jul 2020 01:08:12 -0300
| Newsgroups | gmane.comp.lang.as400.c |
|---|---|
| Message-ID | <[email protected]> |
There's massive overhead involved with ILE-PASE transitions, a full program call even more so. To be honest, it might be easier to port code using C than C++, since many C++ libraries are using modern language features aggressively. C has barely changed since C99 and most newer POSIX library sludge you meet can be shimmed (i.e adapting code from *BSDs). On Tue, 2020-07-14 at 01:03 +0000, Roger Harman wrote: > I would think invoking the executable would be easy. Is it parameter > passing that's the obstacle? > > I had issues once with that and ended up loading the parms into > environment variables and the called program just did a GetEnv() to > retrieve. > > > Roger Harman > COMMON Certified Application Developer - ILE RPG on IBM i on Power > > > > > -----Original Message----- > From: C400-L [mailto: > [email protected] > ] On Behalf Of Charles Wilt > Sent: Monday, July 13, 2020 7:26 AM > To: Bare Metal Programming IBM i (AS/400 and iSeries) > Subject: Re: [C400-L] ILE C++ standards > > ILE C++ is easy to call..thus why we are trying to port it. > > C++ in PASE is what is difficult... > > Charles > > On Fri, Jul 10, 2020 at 5:25 PM Roger Harman < > [email protected] > > > wrote: > > > That's an interesting statement. If it's an ILE program (or > > module), why > > would it be difficult to call? > > > > I've only done a couple of C (not C++) programs on IBM i so I can't > > claim > > any expertise - just curiosity. > > > > Roger Harman > > COMMON Certified Application Developer - ILE RPG on IBM i on Power > > > > -- > > > > > > > > -----Original Message----- > > From: C400-L [mailto: > > [email protected] > > ] On Behalf Of > > Charles Wilt > > Sent: Friday, July 10, 2020 9:47 AM > > To: Bare Metal Programming IBM i (AS/400 and iSeries) > > Subject: Re: [C400-L] ILE C++ standards > > > > That's an option.. > > > > Except I want to call the C++ code from RPG... > > > > And while it appears that can be done, it doesn't appear > > particularly simple. > > > > Charles > > > > On Fri, Jul 10, 2020 at 10:25 AM Mark Waterbury < > > [email protected] > > > wrote: > > > > > Hi, Charles, > > > > > > If you really need the latest and greatest C++ standards, you > > > should be > > > looking into installing the GCC G++ compiler under PASE. :-) > > > > > > All the best, > > > > > > Mark S. Waterbury > > > > > > > On Friday, July 10, 2020, 12:22:07 PM EDT, Charles Wilt < > > > > > > [email protected] > > > > wrote: > > > > > > > > > > > > > > > > > > "You're surprised by this?" > > > > > > A little yeah, I expected it to be behind...but 9+ years? :o > > > > > > No, we don't do much C++, none in fact. But I'd really like to > > > have URI > > > Templating functionality > > > https://en.wikipedia.org/wiki/URL_Template > > > in > > > > RPG > > > and since there were some existing C++, I thought it'd be > > > worthwhile to > > > > see > > > if we could port one over. > > > > > > Charles > > > > > > > > > On Fri, Jul 10, 2020 at 7:35 AM Kelly Beard < > > > [email protected] > > > > > > > wrote: > > > > > > > You're surprised by this? :-) Not to sound rude or > > > > condescending, but > > > > you, like most everyone else in the universe, probably don't do > > > > a lot > > > > of > > > > C++ work on the 400. Unfortunately, we do. We're on V7R3 > > > > here. IBM > > > > is > > > > not even on C++11, technically, but on C++0x, and you have to, > > > > for > > > > some reason, enable a command option to get that going. Only > > > > God in > > > > > > Heaven > > > > knows why they cannot stay current. I suspect that maybe the > > > > OS is > > > > > > written > > > > with whatever C++ was in force at the time and so that is what > > > > we're > > > > > > stuck > > > > with, but that's only my uneducated guess. > > > > > > > > How many lines is this utility? Probably originally written on > > > > a Linux > > > > system with g++? > > > > > > > > On Thu, Jul 9, 2020 at 5:06 PM Charles Wilt < > > > > [email protected] > > > > > > > > > wrote: > > > > > > > > > So we're trying to port a small C++ utility to ILE... > > > > > > > > > > One of the compile errors is on the following... > > > > > for(auto& ele : inVars) > > > > > > > > > > Apparently this the "for each" loop which was added to C++ in > > > > > > 2011...(aka > > > > > C++11) > > > > > > > > > > We're on v7.2, but even the v7.4 manual doesn't show it as > > > > > valid. > > > > > > > > > > Looks like C++ on the IBM i include part of the C+11 > > > > > standards, but > > > > not > > > > yet > > > > > all. And of course C++14 and C++17 are nowhere to be found. > > > > > > > > > > Bit surprised the i is so far behind the times, but I suppose > > > > > most > > > > > > don't > > > > > use ILE C/C++... > > > > > > > > > > Charles > > > > -- > > This is the Bare Metal Programming IBM i (AS/400 and iSeries) > > (C400-L) > > mailing list > > To post a message email: > > [email protected] > > > > To subscribe, unsubscribe, or change list options, > > visit: > > https://lists.midrange.com/mailman/listinfo/c400-l > > > > or email: > > [email protected] > > > > Before posting, please take a moment to review the archives > > at > > https://archive.midrange.com/c400-l > > . > > > > Help support midrange.com by shopping at amazon.com with our > > affiliate > > link: > > https://amazon.midrange.com > > > > > > -- > This is the Bare Metal Programming IBM i (AS/400 and iSeries) (C400- > L) mailing list > To post a message email: > [email protected] > > To subscribe, unsubscribe, or change list options, > visit: > https://lists.midrange.com/mailman/listinfo/c400-l > > or email: > [email protected] > > Before posting, please take a moment to review the archives > at > https://archive.midrange.com/c400-l > . > > Help support midrange.com by shopping at amazon.com with our > affiliate > link: > https://amazon.midrange.com > -- This is the Bare Metal Programming IBM i (AS/400 and iSeries) (C400-L) mailing list To post a message email: [email protected] To subscribe, unsubscribe, or change list options, visit: https://lists.midrange.com/mailman/listinfo/c400-l or email: [email protected] Before posting, please take a moment to review the archives at https://archive.midrange.com/c400-l. Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com