为何POSIX中的libgen.h头文件以此命名?
为什么POSIX的
libgen.h头文件要叫这个名字? libgen.h这个名字确实有点让人摸不着头脑,它的官方描述是「模式匹配函数定义」,但现在里面只剩两个路径处理函数:
char *basename(char *); char *dirname(char *);
而且它早年还包含过两个正则表达式相关函数,不过在POSIX Issue 6版本里被移除了。
这个名字的由来其实和它的历史定位有关:libgen是**"library general"(通用库)**的缩写。在早期Unix系统里,这个头文件是用来收纳那些没法归类到其他专门头文件里的通用工具函数——比如最初的正则表达式处理、路径解析这类不隶属于某个特定功能模块的函数,都被放在这里。
后来随着POSIX标准的演进,正则表达式相关函数被拆分到专门的regex.h里,但libgen.h这个名字因为历史原因被保留了下来,哪怕现在它的内容只剩路径处理的两个函数了。
内容的提问来源于stack exchange,提问作者zdimension
相关产品推荐
相关产品推荐

