Unix APIによって定義された構造の多くのフィールドには、同じプレフィックスがありますsa_
。sa_handler
理由struct sigaction
は何ですか?なぜsa_handler
できないのですhandler
か?
ベストアンサー1
これは最初のCバージョンまでさかのぼります。構造メンバーには別のシンボルテーブルがなく、名前がグローバルシンボルテーブルに追加されます。明らかに不快なグローバルネームスペース汚染を引き起こします。解決策は、今日の列挙型で使用するのと同じです。名前の衝突を避けるために、列挙型の前にいくつかの文字を追加します。