这些天我正在处理 libpcap 和 nginx 源代码。
我想知道这样的事情:
bpf_u_int32
ngx_int_t
还有与内置类型相比,这些用法的优势是什么?
最佳答案
一般来说,它是关于控制复杂性。一些代码库需要跨多个平台运行。有时原因是代码发展到包含更多平台,而在其他情况下,代码从它需要在多个平台上运行的前提开始。
无论如何,一个好的架构模式是降低对其他系统/库/平台/编译器等的依赖。这允许依赖于平台的代码保持在很小的地方,而不是渗透到整个代码库中。
因此,当您将代码移动到新平台时,需要返工的代码量会保持较少。
总而言之,这与可维护性的成本有关,它不是 Elixir ,而是一种经过验证的架构模式。
关于types - 为什么一些像 nginx 和 pcap 这样的开源项目使用自己的 'nginx_uint_t' 和 'bpf_u_int32' 而不是内置类型 'unsigned int',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20041525/