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