If porting to z Linux, your only issues are likely to be hardware issues. Don't assume endian-ness. Avoid unions of ints and chars.
union { int foo; char bar[4]; } IamDangerous; If porting to z/OS, you have the same hardware issues plus the ASCII-EBCDIC issue plus compiler and library differences. For a start, watch out for programs that assume 'R'+1 == 'S' or 'A' > 'a' or '1'-48 == 1. But simple, basic, middle-of-the-road C is completely portable. #include <stdio.h> int main(int argc, char* argv[]) { printf("Hello, world!\n"); } will compile and run pretty much identically in all three places. Four, if you count z/OS batch and z/OS UNIX shell as two different places. Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf Of Mark Post Sent: Saturday, March 26, 2016 4:34 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: Linux >>> On 3/26/2016 at 11:59 AM, Steve Beaver <st...@stevebeaver.com> wrote: > First of all I am first and foremost an zOS Systems programmer that > only writes in HLASM and REXX as needed. > > My goal is to learn Linux and then develop in Linux and then as needed > port it to zSeries box. That being said, Just to be clear, when you talk about "port it to zSeries" do you mean z/OS, or Linux running on z? If the latter, then there won't be much, if any, porting involved. If the former, then that raises a whole raft of other problems/questions. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN