Unix APIで定義された構造体のフィールドにプレフィックスがあるのはなぜですか?

Unix APIで定義された構造体のフィールドにプレフィックスがあるのはなぜですか?

Unix APIによって定義された構造の多くのフィールドには、同じプレフィックスがありますsa_sa_handler理由struct sigactionは何ですか?なぜsa_handlerできないのですhandlerか?

ベストアンサー1

これは最初のCバージョンまでさかのぼります。構造メンバーには別のシンボルテーブルがなく、名前がグローバルシンボルテーブルに追加されます。明らかに不快なグローバルネームスペース汚染を引き起こします。解決策は、今日の列挙型で使用するのと同じです。名前の衝突を避けるために、列挙型の前にいくつかの文字を追加します。

https://stackoverflow.com/a/10325945/799204

おすすめ記事