ubuntu - ubuntu 中的 libc 还是 glibc?
问题描述
我对这些库有点困惑。我现在在 Ubuntu 上工作,我使用 g++ 5,我看到我的应用程序链接在 libc.so 中。它是 Ubuntu 对 C 标准库的实现吗?它与 glibc 不同吗?
$ ldd application.exe
...
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
...
解决方案
当前的 Ubuntu 使用 glibc 来实现 C 标准库。源包被调用glibc
,但是安装的二进制包libc6
因为历史原因被调用。libc6
如果您运行以下命令,您可以在系统上查看软件包的确切版本:
dpkg -l libc6
曾经有一个 glibc 的临时分支,叫做 eglibc,但是eglibc 的开发已经被放弃了;在此之前,所有活动的 eglibc 特定端口都合并到 glibc 中。
Ubuntu 也有用于替代 libc 实现的软件包,例如musl,但发行版本身不使用它们,因为它是基于 glibc 的。
推荐阅读
- python - 如何创建函数以从 JSON 文件中提取数据
- c - c 中的 switch 语句与我预期的打印方式不同?
- python - 如何使用 Beautiful Soup 删除 html 评论
- javascript - 在 preventDefault 之后重新启用提交
- html - 如何在css中将图像拉伸到屏幕的50%
- java - 等待 POST 请求并从 Java 中的服务器获取发布的内容
- c++ - 如何用 std::is_same 替换 std::is_same_v
- android - OnRestoreInstanceState 在 Xamarin 中出现问题
- python - Keras train_step 获取纪元数
- android - Unity Engine - 移动端的 UGUI 布局与编辑器中的布局不同