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:
c400-l-bounces@xxxxxxxxxxxxxxxxxx
] 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 <
roger.harman@xxxxxxxxxxx

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:
c400-l-bounces@xxxxxxxxxxxxxxxxxx
] 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 <
mark.s.waterbury@xxxxxxxxxxxxx
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 <

charles.wilt@xxxxxxxxx
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 <
kenverybigliar@xxxxxxxxx

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 <
charles.wilt@xxxxxxxxx

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:
C400-L@xxxxxxxxxxxxxxxxxx

To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/c400-l

or email:
C400-L-request@xxxxxxxxxxxxxxxxxx

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:
C400-L@xxxxxxxxxxxxxxxxxx

To subscribe, unsubscribe, or change list options,
visit:
https://lists.midrange.com/mailman/listinfo/c400-l

or email:
C400-L-request@xxxxxxxxxxxxxxxxxx

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

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].