我发现中有linux/ip.h
和,而且有的是一样的。为什么这里有重复的文件,而且名字不一样,它们有什么区别?netinet/ip.h
/usr/include
答案1
历史。
回顾早期,在计算机普及地球之前,两个完全独立的群体开始开发两个独立的软件子系统。
各个小组利用开发人员的特权,为各自的子系统的各个部分取了好听的名字。“ ip.h
”就是这样一个名字。
当需要合并两个子系统时,两个团队都希望保留各自可爱的名字。
将子系统需求的副本放在ip.h
子目录中,可方便开发人员使用。开发人员只需使用netinet
版本的需求定义,而开发人员则需要 版本进行编译。ip.h
#include <netinet/ip.h>
linux
#include <linux/ip.h>