C++ - 静态链接 & 动态链接

  1. 简介
    1. 两者的区别(简化版)
  2. static linking
    1. 使用的一些注意事项
    2. 如何使用
  3. dyamic linking

C++ 学习笔记

C++ 静态链接/动态链接 的方式来导入第三方库

简介

  • 一些高级语言(go,py,java),它们都有自己的包管理器,但是在 c++ 中,只有标准库可以使用
  • 当我们需要去使用别人所写的代码时,我们需要将其克隆下来,放到我们的项目当中,或者去通过动态链接库的形式来导入
  • 有些人吐槽 c++ 这一点,我也很不习惯这一点
  • 今天这一篇就来说说 static linking & dyamic linking

两者的区别(简化版)

  • static linking
    • put the lib bin into your executable file, in exe file (win) / executable file (mac/linux)
    • 发生在编译阶段
    • 更快
  • dyamic linking
    • get linked at runtime (load dll)

static linking

使用的一些注意事项

  • 有条件拿到 source code 的尽量自己去编译,这样可以选择性编译(with debug or not),并且可以根据自己的需要去修改代码
  • 注意 32-bit,64-bit

如何使用

  • 需要 header file, 供项目导入 函数/类/变量… 申明
  • 需要在 链接阶段 链接 lib file, 这样会得到一些 实现

dyamic linking


欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 qinhan_shu@163.com

文章标题:C++ - 静态链接 & 动态链接

本文作者:QinHan

发布时间:2019-12-30, 23:34:46

最后更新:2020-02-20, 05:42:12

原始链接:https://qinhan.site/2019/12/30/cpp-lib/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏