gpt4 book ai didi

c - 什么是 *-devel 包?

转载 作者:IT王子 更新时间:2023-10-29 00:43:25 30 4
gpt4 key购买 nike

像“libgtk+-devel”或“python-devel”等开发包有什么用处?它们是否包含图书馆的来源?它与 libgtk+ 等非开发包有何不同?

最佳答案

*-devel 包(在基于 Debian 的发行版中通常称为 *-dev)通常是针对给定库编译代码所需的所有文件。

要运行使用库 libfoo 的应用程序,只有实际共享的库文件(*.so.*,例如 libfoo.so.1.0) 是必需的(可能还有一些数据文件和一些版本特定的符号链接(symbolic link))。

当您真正想要编译一个使用该库的 C 应用程序时,您需要头文件(*.h,例如 foo.h)描述该应用程序的接口(interface)以及指向共享库的无版本符号链接(symbolic link)(*.so,例如 libfoo.so -> libfoo.so。 1.0)。这些通常捆绑在 *-devel 包中。

有时 *-devel 包还包含库的静态编译版本(*.a,例如 libfoo.a)如果您想构建一个完全不依赖于动态库的独立应用程序。

其他语言(例如 Java、Python 等)使用不同的方式来标记库的 API(有效地包括实际库中的所有必要信息),因此通常不需要单独的 *-开发 包(文档和其他工具除外)。

关于c - 什么是 *-devel 包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48333680/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com