|
C++
What is the OS/400 C++ development environment?
There exists C++ compilers for both ILE and PASE.
For ILE, you may use WebSphere Development Studio for iSeries and its companion graphical PC-based client WebSphere Development Tools for iSeries. A command-line development alternative is available via CL commands or qshell icc and related shell commands shipped as part of iSeries Tools for Developers.
References also exist for compiling for OS/400 PASE.
How do I choose which C++ compiler to use?
Which compiler you choose is determined by OS/400 release and your preferred development environment (client-based GUI or server-side command line).
Does OS/400 support threaded applications in C++?
Yes. OS/400 supports threaded application development using kernel-level threads. Following are alternatives and considerations:
- For the ILE, the C++ Standard Class Libraries are thread-safe.
- For OS/400 PASE, note ussage of the '_r' suffix:
- The macro _THREAD_SAFE is defined. This forces all C header files to use thread safe function calls rather than functions that are implemented as macros. For example, errno() resolves to a global data member without the macro, but resolves to _Errno() when _THREAD_SAFE is defined.
- The libpthreads.a library is linked into the program. Some C and C++ functions, like malloc, query to see if libpthreads is loaded and ignore locking if it's not found.
- The program is linked to the thread safe C++ runtime, libC_r.a, instead of libC.a. This is only of interest on AIX 4.2 or earlier. All system libraries are thread safe on AIX 4.3 or better.
Additional information about using kernel threads can be found at:
OS/400 Kernel Threads.
[BACK]
|