Skip to content

FAQ

复制本地路径 | 在线编辑
区别 /lib 和 /usr/lib

其实就是主要为了好管理:

  • /lib contain "essential" libraries that may be needed even in single-user (admin-only) mode and without /usr mounted
  • /usr/lib are the libraries for the normal user-programs, that mostly can be found under /usr

根据 diff 命令: /lib/libc.so.6 和 /usr/lib/libc.so.6 是一样的东西。在我的机器上, 其实 /lib 就是 /usr/lib 的软链接

区别:glibc 和 libc 和 glib

可以理解为 libc 是刚开始那个最基础的库,glibc 是它的改编,但是 glibc 逐渐取代了它。
而 glib 就是和这两个完全没有关系的东西,相当于是在其基础之上的工具库。

为什么要有 COMMON 块

首先很明显就是 COMMON 块的作用是什么?就是为了能够在多个文件中可以定义相同的变量名称。
a.c 中有int demo,b.c 中也可以定义int demo。

为什么要支持这种奇怪的方式,可能是历史原因(比如不然 b.c 中要使用extern int demo,多个 extern 太麻烦)

而且现在 GCC 也提供了选择,你可以取消这个 COMMON 机制,也就是说 demo 这个变量只能在 a.c 中定义。

参考

Comments

本文阅读 Loading 本站访问 Loading 访客 Loading