ホームページ >バックエンド開発 >C++ >静的変数は C および C 実行可能ファイルのどこに保存されますか?

静的変数は C および C 実行可能ファイルのどこに保存されますか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-03 11:28:40194ブラウズ

Where Are Static Variables Stored in C and C   Executable Files?

C および C における静的変数の保存

静的変数は、C および C における固有のタイプの変数であり、名前を避けるために実行可能ファイルの特定のセグメントに保存されます。衝突。提供されたコード例では、異なる翻訳単位で同じ名前「foo」と「bar」を持っていますが、それらはインクリメントされた値で独立して機能します。この独立性により、これらの静的変数は実行可能ファイルのどこに保存されているのかという疑問が生じます。

保存場所を理解するには、静的変数がゼロで初期化されているかどうかを考慮することが重要です。存在する場合、通常は「.BSS」(Block Started by Symbol) セグメントに配置されます。このセグメントには、デフォルトでゼロに設定される初期化されていないデータが格納されます。たとえば、「foo = 1;」

一方、ゼロで初期化されていない静的変数は、「.DATA」セグメントに配置されます。このセグメントには、「foo = 10;」などの初期化されたデータが含まれます。これらのセグメントに分割することで、名前の衝突がなくなり、効率的なメモリ割り当てが可能になります。

以上が静的変数は C および C 実行可能ファイルのどこに保存されますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。