Debian中的libc6-dev:amd64包包含C编程中所有常见的头文件,如stdio.h、ctype.h、time.h等。据我所知,几乎任何用C编写的应用程序所需的libc6:amd64都以编译后的形式包含了相同的头文件,对吗?或者简单地说,libc6-dev:amd64和libc6:amd64有什么不同?
发布于 2017-07-20 11:45:57
查看包描述;有关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包。
https://unix.stackexchange.com/questions/379711
复制相似问题