微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

类型 – 为什么像nginx和pcap这样的开源项目使用自己的’nginx_uint_t’和’bpf_u_int32’而不是内置类型’unsigned int’

这些天我正在处理libpcap和Nginx代码.
我想知道:

>在libpcap中,它们使用自己的unsigned int类型bpf_u_int32
>在Nginx中,他们也使用自己的unsinged int类型ngx_int_t

与内置类型相比,这些用法的优势是什么?

解决方法:

通常它是关于控制复杂性.一些代码库需要跨多个平台运行.有时原因是代码演变为包含更多平台,而在其他情况下,代码从需要在多个平台上运行的前提开始.

无论如何,一个好的架构模式是降低对其他系统/库/平台/编译器等的依赖性.这允许平台相关代码保持在一个小的位置,而不是贯穿整个代码库.

因此,当您将代码移动到新平台时,需要返工的代码量将保持较小.

总而言之,这是关于可维护性的成本,它不是一个神奇的子弹,而是一种经过验证的架构模式.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐