摘要 |
<p>A method and apparatus for providing versioning information for a plurality of software objects. When an object is compiled and linked, at build time, the link-editor (124) creates a version definition section and a version symbol section in the object that specify the global symbols defined in various versions of the object. The object can be a shared object (114), a relocatable object (112), or a dynamic executable object (120). When an application software program is linked with the versioned object, at build time, the linker-editor (124) creates a version dependency section in the resulting dynamic executable object that specifies which version of the object is required for execution of the software application program. At runtime, the runtime-linker (126) determines whether all required versions of the object are present before the program is executed. The invention allows the definition of "weak" versions that do not contain new global symbols. The invention also allows the explicit specification of the version of an object to which the software application program should be linked. <IMAGE></p> |