libc6-dev:amd64
Debian 中的软件包包含 C 编程中的所有常见头文件,如stdio.h
、ctype.h
、等。据我所知,几乎所有用 C 编写的应用程序都需要包含编译形式的相同头文件,time.h
我是否正确?libc6:amd64
或者简而言之,libc6-dev:amd64
和有何libc6:amd64
不同?
答案1
查看包装说明;为了libc6
:
包含系统上几乎所有程序使用的标准库。该软件包包括标准 C 库和标准数学库以及许多其他库的共享版本。
并为libc6-dev
:
包含编译和链接使用标准 C 库的程序所需的符号链接、头文件和目标文件。
libc6
libc.so.6
以多个共享库(等)的形式提供由 C 库实现的功能。libc6-dev
提供使用 C 库构建软件所需的额外文件;这些额外的文件与共享库的内容不同。
另一种思考方式是,libc6
为使用 C 库的程序提供运行时所需的文件,并libc6-dev
在库本身之上提供构建时所需的文件(这就是为什么libc6-dev
取决于libc6
- 你需要两者来构建软件)。libc6
包含动态链接器用于运行使用 C 库构建的软件的文件,libc6-dev
包含编译器和构建时链接器用于使用 C 库构建软件的文件。
同样的区别也适用于大多数库包;您将找到一个运行时包和一个构建时-dev
包。