シングルトンの初期化について

Init() 操作と cleanup() 操作は、シングルトン用に生成されますが、 create() 操作と destroy() 操作は異なります。

IBM® Rational® Rhapsody® モデルに、シングルトンの場合と同様に、グローバル・インスタンスがある場合、 何かで init() 関数を呼び出す必要があります。C++ では、この問題はデフォルト構造を使用して解決されています。 しかし、C では別の機構を見つける必要があります。 実行可能なコンポーネントの場合、main() 関数がグローバル・オブジェクトのイニシャライザーを呼び出すことができます。 ライブラリー・コンポーネントの場合は、グローバル・オブジェクトを使用する前に、ライブラリーのユーザーがイニシャライザーを呼び出す必要があります。

IBM Rational Rhapsody Developer for C では、コンポーネントのイニシャライザーは、コンポーネントのスコープ内のすべてのパッケージに対して init() 操作を呼び出します。 同様に、パッケージ・イニシャライザーは、パッケージのスコープ内の任意のグローバル・オブジェクト、イベントに対して生成される init() 操作を呼び出します。


フィードバック