gpt4 book ai didi

C++ 库需要 LibCurl - 应用程序的用户需要 libcurl 吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:49:34 27 4
gpt4 key购买 nike

我通常是一名 Java 开发人员,但我现在正在编写一个 C++ 库,他们将使用 LibCurl。而且我对 C++ 世界一无所知!

我正在写的实际上是供其他开发人员使用的库(它是用于访问我们的 API 的客户端代码)。

最终用户是否需要安装 libcurl,或者开发人员能否以某种方式将其包含在 EXE 中或以某种方式打包?

其实也是一样,我可能会在库中使用QT,他们需要安装这个吗?我猜它的工作方式是开发人员当然需要它,但是一旦它被编译为二进制就不需要了吗?不像 java 你一直需要 Jar 文件...

为任何帮助干杯,艾伦

最佳答案

如果您静态链接 libcurl,则最终用户不需要 libcurl,因为它将在编译时直接链接到可执行文件。

如果您动态链接 libcurl,那么最终用户确实需要在他们的系统上安装 libcurl 并作为共享对象库使用。

但是,您处于不同的位置。您正在编写供其他开发人员使用的库。因此,您的最终用户实际上并不是真正的最终用户。在这种情况下,提供针对 libcurl 的动态链接“更好”。

如果您静态链接,那么您的库将在其代码中封装 libcurl 库的拷贝。现在想象一下使用您的库的开发人员也在使用其他 10 个库,所有这些库都静态链接到 libcurl。该开发人员基本上将在他/她的最终产品中包含 10 个 libcurl 拷贝。这不是很有效,因此在开发库时首选针对依赖项的动态链接。

然而...

如果开发人员使用 10 个需要 libcurl 的不同库,但其中一些库比其他库需要特定的旧/新版本,那么静态链接将很有用。

希望对您有所帮助...

关于C++ 库需要 LibCurl - 应用程序的用户需要 libcurl 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/856545/

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