gpt4 book ai didi

c++ - 在 C++ 项目中包含库有哪些不同方法?

转载 作者:太空宇宙 更新时间:2023-11-04 05:39:35 25 4
gpt4 key购买 nike

请允许我在回答这个问题之前先告诉您,我没有接受过正规的 CS 教育,并且一直在自学 C++。

我想了解在项目中包含第三方库的不同方法。

如果 github 上有一个有趣的库,如何确定如何包含项目?

我已经阅读了 Windows 上下文中动态和静态链接的概念,但我仍然不太清楚它们。

最佳答案

库包含函数的实现,无论是静态的还是动态的。库包含 m 个函数实现,其中子集 n < m 向用户公开。在 C++ 中,对于这 n 个函数,库通常会提供一个头文件供您包含,即所谓的函数原型(prototype)列表。根据您包含的 header 以及您在项目中使用的函数,链接器会记住此类外部函数的原型(prototype),并要求您将适当的库链接到可执行文件以满足未解析的原型(prototype)符号。

静态库的函数实现在编译时焊接到可执行文件中。动态库的函数实现完全保留在其位置,只是将一个 stub 焊接到可执行文件中,在调用动态库时将控制权转移到动态库。

关于c++ - 在 C++ 项目中包含库有哪些不同方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46312689/

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