为什么 Unix API 定义的结构体中的字段有前缀?

为什么 Unix API 定义的结构体中的字段有前缀?

Unix API 定义的结构体中的许多字段都有前缀,例如sa_sa_handler.struct sigaction为什么会这样呢?为什么不sa_handler叫 just handler

答案1

这可以追溯到很久以前,一直到第一个 C 版本。他们没有单独的结构成员符号表,名称被添加到全局符号表中。造成明显令人讨厌的全局名称空间污染。解决方法与您今天在枚举上使用的方法相同,在它们前面添加几个字母以避免名称冲突。

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

相关内容