目录 条件编译 - 代码裁剪的工具 为何要有条件编译 条件编译主要是用于代码裁剪,通过代码裁剪,能够快速实现某种目的,如版本维护(free版本,pro版本等,功能裁剪,跨平台性等. 条件编译都在那些地方用? 举个例子 我们经常听说过,某某版程序是完全版/精简版,某某版应用是
2024-10-17目录 if-else组合 表达式: 变量与操作符的组合称为表达式 语句: 以分号结尾的表达式称为语句 if(0){ //... }注释法,在看到if(0)时,有可能这是一个注释,不推荐这种做法,但是需要认识. if的执行顺序 计算功能:先执行完毕if括号(
2024-10-17 很多程序员想学习音视频的编程开发,却不知从何学习,因为音视频技术的体系庞大、知识杂糅,一眼望去就令人生怯。那么学习音视频建议站在前人的肩膀上,从优秀的音视频开源框架开始钻研,先熟悉这些开源工具的具体用法,再深入了解这些开源框架的实现代码。 有鉴于此,博主整理了几个流行的音视频开源框架,分别对它们概要说明如下: 一、计算机视觉库OpenCV OpenCV全称Open
2024-10-17链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 相较于数组,链表有以下优点: 逻辑结构 (1)链表采用动态内存分配的方式,在内存中不连续 (2)支持动态增加或者删除元素 (3)需要时可以使用malloc或者new来申请内存,不用时使用free或者delete来释放内存 内存结构 链表从堆上分配内存,自由度大,但是
2024-10-17 自从互联网普及之后,用于视频直播的流媒体技术就发展起来。这几十年中,比较有影响的主要有MMS、RTSP、RTMP、HLS、SRT、RIST几种,分别介绍如下。 1、MMS协议 MMS全称Microsoft Multimedia Server,意思是微软多媒体服务器,它是微软公司在上世纪九十年代发布的多媒体服务器解决方案,可用于传输微软音视频格式的流媒体直播数据。 MMS协
2024-10-17操作系统 :CentOS 7.9_x64 apr库版本:apr-1.7.4 & apr-util-1.6.3 gcc 版本:4.8.5 队列功能在C++或Python等脚本语言里面,是很容易就可以使用的,但C语言里面,标准库里面没有。 在使用C语言开发新应用时,就会遇到这个问题。阅读FreeSWITCH源码,发现使用的是apr库,一个强大的开发库,提供了一套跨平台的底层接口
2024-10-17 音视频技术的一个主要用途是直播,包括电视直播、电脑直播、手机直播等等,甚至在线课堂、在线问诊、安防监控等应用都属于直播系统的范畴。由于直播系统不仅涉及到音视频数据的编解码,还涉及到音视频数据的实时传输,因此直播领域采用的网络技术标准比较高,实现起来也比一般的WEB系统复杂。 一、直播系统的概念结构 如果仅仅从用户的角度来看,直播系统无非是直播的来源方和直播的观看方。来源方支起三
2024-10-17一,运算符 自变运算符: ++/-- 使变量的值自动加1或者减1 前自变:++num/--num 立即生效 后自变:num++/num-- 下一行语句才有效 注意:不要在一行代码中多次使用自变运算符 * ++ -i 这样对吗? 这样不对 在这里-i是表达式,自增自减只能针对一个变量进行运算! -i++ 这样可以,此时是先 i++
2024-10-17概论 1.1 基本概念和术语 1.1.1 基本概念 计算机处理的的是数值性数据,当计算机处理用户信息表中的数据的时候,需要弄清3个问题 1.数据的逻辑结构 数据之间存在怎样的内在联系,数据中,有且只有一个是首节点/尾结点,其他节点有且只有一个相邻的位于它之前和之后的结点 2.数据的存储结构 数据在计算机的存储方式称为存储结构。在C语言中,最
2024-10-17经个人实践,C语言中使用 \t 会从下一个制表位开始继续输出,即会输出一个 8 个(32 位架构下 4 个,64 位架构下 8 个)格数的组合,当 \t 之前的内容达到 8 * n 格时,后续内容出现在 8 * (n + 1) + 1 格。(式中 n >= 1,且为整数) 而使用 \b 会根据 shell 的不同表现为:向左回退一格(常见)或删除一格。 探索过程如下: 第一次在看
2024-10-17