Re: ILE C++ standards

Charles Wilt <[email protected]> Tue, 14 Jul 2020 07:15:14 -0600
Newsgroups gmane.comp.lang.as400.c
Message-ID <CAJ=Tnc6iWVwTYFU1dW=hkZMTvYQBfGZJj6vHoLtzpT5eMRewrA@mail.gmail.com>
I couldn't find an existing C routine...

Charles

On Mon, Jul 13, 2020 at 10:08 PM Calvin Buckley <[email protected]> wrote:

> 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
>
-- 
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