You can compile your programs using two different object models.
They differ in the following areas:
- Layout for the virtual function table
- Name mangling scheme
The OBJECTMODEL compiler option has the following suboptions to
set the type of object model:
- CLASSIC
- uses the original object model that was available on all previous
releases of C++ compiler.
- IBM
- uses the new object model and should be selected if you want improved
performance. This is especially true for class hierarchies with many
virtual base classes. The size of the derived class is considerably
smaller and access to the virtual function table is faster.
All classes in the same inheritance hierarchy must have the same
object model.
Use the #pragma object_model directive to specify
an object model in your source. For more information, see object_model in z/OS XL C/C++ Language Reference.