The Object Binary Interface--C++ Objects for Evolvable Shared Class Libraries

Theodore C. Goldstein, Alan Sloane · Cork Open Research Archive (University College Cork, Ireland) · 1994

: Object-oriented design and object-oriented languages support the development of independent software components such as class libraries. When using such components, versioning becomes a key issue. While various ad-hoc techniques and coding idioms have been used to provide versioning, all of these techniques have deficiencies---ambiguity, the necessity of recompilation or recoding, or the loss of binary compatibility of programs. Components from different software vendors are versioned at different times. Maintaining compatibility between versions must be consciously engineered. New technologies---such as distributed objects---further complicate libraries by requiring multiple implementations of a type simultaneously in a program. This paper describes a new C++ object model called the Shared Object Model (SOM) for C++ users, and a new implementation model called the Object Binary Interface (OBI) for C++ implementors. These techniques provide a mechanism for allowing multiple implemen...

Read the paper · More papers on PaperTik