当查看 /usr/lib/
中的库时,人们注意到几乎所有 lib*.so
文件都没有大写,即使官方库名称是,例如,
- BLAS:
libblas.so
, - cURL:
libcurl.so
, - BFD:
libbfd.so
。
是否有 Linux 或 Unix 约定规定库名必须小写?
最佳答案
我认为这与其说是一种约定俗成,不如说是一种继承的文化。 Unix 系统的默认文件名主要以小写字母书写。这是出于某些历史原因。
一些文件系统不区分大小写,如果您将 Linux 文件共享到具有不区分大小写文件系统的操作系统,您可能会遇到一些冲突。
如果您有三个文件:someFile.txt、SomeFile.txt、somefile.txt
在 Linux 中,您有三个名称不同的文件,但在使用 HFS+(存在于 MAC 上)、VFAT、FAT32、FAT12(存在于旧版本的 MSDOS 和 Windows 中)的操作系统中,您有三个名称相同的文件( somefile.txt),因此您将遇到文件名冲突。
C 社区采用小写字母作为 C 库的约定。许多有影响力的 C 程序员加入了发起 Unix 应用程序开发的社区。p>
最后一个有趣的原因是,程序员很懒。除非必要,否则使用 shift 或 Caps-lock 键并不酷。
关于Linux 库命名约定 : Capitalization?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46441647/