libc6-dev 和 libc6 之间的区别

libc6-dev 和 libc6 之间的区别

libc6-dev:amd64Debian 中的软件包包含 C 编程中的所有常见头文件,如stdio.hctype.h、等。据我所知,几乎所有用 C 编写的应用程序都需要包含编译形式的相同头文件,time.h我是否正确?libc6:amd64或者简而言之,libc6-dev:amd64和有何libc6:amd64不同?

答案1

查看包装说明;为了libc6:

包含系统上几乎所有程序使用的标准库。该软件包包括标准 C 库和标准数学库以及许多其他库的共享版本。

并为libc6-dev:

包含编译和链接使用标准 C 库的程序所需的符号链接、头文件和目标文件。

libc6libc.so.6以多个共享库(等)的形式提供由 C 库实现的功能。libc6-dev提供使用 C 库构建软件所需的额外文件;这些额外的文件与共享库的内容不同。

另一种思考方式是,libc6为使用 C 库的程序提供运行时所需的文件,并libc6-dev在库本身之上提供构建时所需的文件(这就是为什么libc6-dev取决于libc6- 你需要两者来构建软件)。libc6包含动态链接器用于运行使用 C 库构建的软件的文件,libc6-dev包含编译器和构建时链接器用于使用 C 库构建软件的文件。

同样的区别也适用于大多数库包;您将找到一个运行时包和一个构建时-dev包。

相关内容