getfromcode软考考证 会员免费

Linux C C++静态库、动态库高级编程

《Linux C C++静态库、动态库高级编程》Linux C/C++ 静态库 与动态库高级编程课程,由黄强老师主讲,系统讲解库的创建、编译链接、环境配置、版本控制、符号冲突、动态加载及ELF文件等核心知识点。课程帮助学员掌握Linux下静态库(.a)与动态库(.so)的编程技能,为C、C++及Java企业级开发奠定基础,适合有志于Linux C/C++高级开发路线的学习者。【技能收获】学完可掌握:Java 后端开发、Linux 运维。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;

单课价¥29.90新品 上架
会员价 会员免费开通会员,全站课程按额度无限下载套餐详情
1 人关注 更新于 2026-10-03 永久有效
发货

网盘链接 · 支付成功后自动发货

保障

永久有效 · 链接失效免费补发

客服

每日 9:00-21:00 在线客服 联系客服

购买方式开通会员 · 全站免费下单课购买 · 仅本课

支付成功后自动显示网盘下载链接;链接失效可联系客服免费补链,永久有效。

正版保障 极速发货 售后无忧

库这个东西,写业务代码时几乎天天在链接,但真让你从零打一个 .a 或 .so 出来、控制它的导出符号、给它编版本号、再在运行时用 dlopen 把插件挂上去,很多人是没完整走通一遍的。这份《Linux C/C++ 静态库、动态库高级编程》讲的正是这条链路,重心不在语法,而在「编译—链接—加载」这三段工程细节。

它补的是构建链路上的空白

多数 C/C++ 教程会把时间花在语言特性上,链接环节一笔带过。可一旦项目拆成多个模块,问题就全冒出来了:静态库打进可执行文件后体积膨胀、符号重复定义报错、动态库找不到 so、升级库版本导致老程序崩溃。这门课围绕这些具体故障展开,讲的是工具链层面的因果,比如为什么同样的 .o 用 ar 打包和用 gcc -shared 链接,行为完全不同。

踩过链接报错的人看这部分会很有共鸣:undefined reference 到底是声明缺失还是链接顺序问题,-L 和 -rpath 谁在编译期起作用、谁在运行期起作用,这些区分清楚了,排错速度会明显不一样。

几个值得动手验证的知识点

  • 静态库与动态库的创建流程:从 .o 到 .a / .so 的中间步骤,以及两种库在链接期的差异。
  • 编译链接参数:链接顺序对符号解析的影响、动态库搜索路径的优先级。
  • 版本控制:soname 机制与符号版本,理解为什么升级 .so 可以不重编调用方。
  • 符号冲突:同名全局符号在静态链接、动态链接下的不同处理方式,以及 visibility 属性的作用。
  • 动态加载:dlopen / dlsym / dlclose 的使用,插件式架构的基本骨架。
  • ELF 文件结构:段的划分、动态符号表的位置,用 readelf、nm、objdump 自己去印证。

这几块串起来就是「库」的完整生命周期。建议不要只看,每讲一节就在自己的机器上敲一遍,用 nm 看符号、用 ldd 看依赖、用 LD_DEBUG 看加载过程,收获比看视频大得多。

项目结构上能借鉴什么

课程里演示的工程组织方式,可以直接套到实际项目:公共部分抽成库、按模块划分目录、用 Makefile 或构建脚本管理编译产物。重点在于分层——哪些代码适合做成静态库省去部署麻烦,哪些应该做成动态库方便热更新和复用,这个取舍在真实项目里反复出现。插件化一节尤其值得对照自己的代码看:如果有功能需要按需加载或者后期扩展,dlopen 那套模式是现成的参考实现。

适合谁,怎么用

如果已经写过一段时间的 Linux C/C++,能看懂 Makefile 但不清楚链接细节,这份资料比较对路。Java 方向的开发者也能从中理解 JNI 调用本地库时的底层依赖关系。自学路径建议按「静态库 → 动态库 → 版本与符号 → 动态加载 → ELF」的顺序推进,前一块没跑通别急着往后翻,因为后面的问题大多建立在前面的理解上。

把它当成一份可对照实践的资料更合适:每个知识点都对应一组命令和一段可编译的代码,验证过一遍,构建和排错这块基本就不虚了。


Linux C/C++ 静态库 与动态库高级编程课程,由黄强老师主讲,系统讲解库的创建、编译链接、环境配置、版本控制、符号冲突、动态加载及ELF文件等核心知识点。课程帮助学员掌握Linux下静态库(.a)与动态库(.so)的编程技能,为C、C++及Java企业级开发奠定基础,适合有志于Linux C/C++高级开发路线的学习者。

课程推荐

《Linux C C++静态库、动态库高级编程》Linux C/C++ 静态库 与动态库高级编程课程,由黄强老师主讲,系统讲解库的创建、编译链接、环境配置、版本控制、符号冲突、动态加载及ELF文件等核心知识点。课程帮助学员掌握Linux下静态库(.a)与动态库(.so)的编程技能,为C、C++及Java企业级开发奠定基础,适合有志于Linux C/C++高级开发路线的学习者。【技能收获】学完可掌握:Java 后端开发、Linux 运维。课程以实战为导向,覆盖从基础概念到完整项目落地的关键步骤,配套章节笔记便于课后复盘与面试前快速回顾。【学习建议】建议按目录顺序学习,先打基础再进入综合实战章节;每完成 2~3 节可结合笔记整理一份学习小结,最终尝试独立复现一套完整 Demo 写入个人作品集。【就业发展】可面向岗位:Linux 运维工程师、SRE、云计算工程师、DevOps 工程师。云原生与自动化运维仍是企业 IT 刚需方向,认证 + 实战项目组合能显著提升面试通过率,适合向中高级运维或架构岗进阶。 若你已有一定编程或运维基础,本课程可帮助你在现有技能栈上快速叠加热门方向能力,提升求职时的项目说服力与薪资谈判空间。

视频目录(34 节)

*   1 Linux使用ar创建C静态库.mp4

*   2 Linux静态库和动态库简介.mp4

*   3 Linux使用C静态库(方式一).mp4

*   4 Linux使用C静态库(方式二).mp4

*   5 Linux程序编译时查找静态库的路径.mp4

*   6 Linux使用ar创建C++静态库.mp4

*   7 Linux使用C++静态库.mp4

*   8 Linux C++程序链接C静态库.mp4

*   9 Linux C程序链接C++静态库.mp4

*   10 Linux使用gcc -fPIC -shared创建C动态库.mp4

*   11 Linux使用C动态库(方式一).mp4

*   12 Linux使用C动态库(方式二).mp4

*   13 Linux程序编译时查找动态库的路径.mp4

*   14 Linux程序运行时查找动态库的路径.mp4

*   15 Linux使用rpath指定运行时动态库搜索路径.mp4

*   16 Linux使用LD_DEBUG输出动态链接库的调试信息.mp4

*   17 Linux动态库版本命名规范.mp4

*   18 Linux动态库之soname详解.mp4

*   19 Linux使用dlopen()函数调用动态库.mp4

*   20 Linux使用g++ -fPIC -shared创建C++动.mp4

*   21 Linux使用C++动态库.mp4

*   22 Linux C++程序链接C动态库.mp4

*   23 Linux C程序链接C++动态库.mp4

*   24 Linux动态库的符号覆盖.mp4

*   25 Linux设置动态库符号的可见性.mp4

*   26 Linux使用LD_PRELOAD优先加载动态库.mp4

*   27 Linux使用-static指定链接静态库.mp4

*   28 Linux ELF文件格式剖析之ELF头.mp4

*   29 Linux使用C语言代码读取ELF头.mp4

*   30 Linux ELF文件格式剖析之Section.mp4

*   31 Linux使用C语言读取ELF节表.mp4

*   32 Linux ELF文件格式剖析之符号表.mp4

*   33 Linux使用C语言读取ELF符号表.mp4

*   34 Linux静态库和动态库总结.mp4