如果 IBM® Rational® Rhapsody® 模型具有全局实例,而假如它们是单例,某些内容必须调用它们的 init() 函数。在 C++ 中使用缺省构造解决了该问题。但是在 C 中,必须找到其他机制。对于可执行组件,main() 函数可以调用全局对象的初始化方法。但在库组件中,库的用户必须在使用全局对象之前调用初始化方法。
在 IBM Rational Rhapsody Developer for C 中,组件初始化方法调用组件作用域中的所有程序包的 init() 操作。反之,程序包初始化方法在程序包作用域中调用为任何全局对象、事件等生成的 init() 操作。