ArchSummit 全球架构师峰会杭州倒计时10天,速来围观! 了解详情
写点什么
  • 发布
  • 评论
  • 划线
  • 收藏
  • 关注
  • 全部分类
FFmpeg 原理

本书《FFmpeg 原理》主要讲解 FFmpeg 原理性的知识 前面几章是音视频开发,流媒体技术的基础,后面的章节主要讲解如何搭建 FFmpeg 各种调试环境,同时提供 FFmpeg API 函数的使用示例,最重要的是 分析 ffmpeg.c 跟 ffplay.c 的源码逻辑。

MSVC 编译动态库

本文跟《Linux 环境编译动态库》 使用同样的项目 universe,下载之后,放到 D 盘,如下:

快速上手 vs2019

在前文《MSVC 编译静态库》已经稍微提及了一下 vs2019 的一些使用技巧。本文打算直接把 vs2019 讲透。

MSVC 编译静态库

参考 《Linux 环境编译静态库》,要编译出一个 静态库给 zeus.c (宙斯)用。项目代码还是 D 盘的 universe。

MSVC 编译多个 C 程序文件

msvc 编译多个文件 跟 之前的 《Linux 环境编译多个 C 程序文件》类似的,编译阶段都只是处理单个文件,只有在链接阶段才是处理多个文件。

MSVC 编译环境介绍

MSVC 是 windows 比较早期的编译工具链,这个工具链主要有 两个软件, cl.exe (编译器) 跟 link.exe(链接器)。

Windows 编译环境介绍

windows 环境下编译 C/C++ 项目,会涉及到以下 4 个软件,或者说是工具套件。

Linux 环境混合使用静态库与动态库

目前 静态库 跟 动态库 编译,使用的方法都讲了一遍。但是在实际工程项目里面,可能会遇到一些第三方提供的动态库,跟一些第四方提供的静态库。

Linux 环境显式使用动态库

前一篇文章中 libstar.so 是动态链接到 libc 库的。如果 zeus.c 需要静态链接 libc ,会导致什么问题呢?

Linux 环境编译动态库

我们之前已经 编译过 libstar.a 静态库 给 zeus(宙斯)跟 poseidon(波塞冬)使用。由于 静态库 会把内容拷贝进去程序里面,所以会加大磁盘存储空间。

Linux 环境封装静态库

先解释 一下 编译静态库 跟 封装静态库的 区别,编译静态库 就是前文中的 把多个 .o 文件打包成一个 libxxx.a 静态库。

Linux 环境编译静态库

还是以之前的 universe 项目为例,之前是 zeus.c (宙斯)可以操作 3 颗星球。现在来了一个新的大佬 poseidon.c (波塞冬),他也可以操作 3 颗星球。

个人成就
  • 发布了 28 篇内容

    43063字, 被阅读 2577

  • 获得了 3 次赞同

    获得了 0次喜欢, 获得了 3 次收藏

  • 参与了 4 次互动

    互动包含发布评论、点赞评论、参与投票等

TA 关注的
还没有关注其他内容哦
最新评论
Loken