C语言
嵌入式Max
手机 Camera 软件研发。
技能:V4L2、音视频处理软件框架-openMAX、Android Camera、ISP 处理
展开
-
C++ 拷贝构造与拷贝赋值
[阅读原文]这篇开始总结巩固下 C++ 的基础知识,一方面是用于做备忘,另一方面也是加深印象、发散思考。该系列也是从自己掌握不牢固的知识点开始写起,并不会尽全尽善,顶多就是记录一些零零碎碎的知识点而已,但是对于这些零碎的知识点会尽量做到这个点是全面完善的,话不多说,开搞。拷贝构造所谓拷贝构造就是使用一个已经构造好的类作为参数来构造另一个类,一般形式如下所示:class A;class B;A a = new A;B b = a; // 拷贝构造函数B c(a); // 拷贝构造函数拷原创 2020-07-19 10:45:39 · 1301 阅读 · 0 评论 -
硬核拆解动态库静态库
[Github pages]动态库与静态库是编程中十分常见的玩意儿,但是如此常见的东西在我真正用心去了解梳理过一遍之后才发现原来这里面有这么多的门道。本文就介绍一波 Linux 平台下,特指 GCC 编译器生成的动态库与静态库的依赖于关联,甚至还拓展一波编译工具的冷门用法。虽然有一些内容看的时候觉得都知道,但是我保证,一定会有那么一些不知道的,所谓硬核。库的目的从表面上来讲,粗略点来讲,库...原创 2018-11-11 21:13:25 · 1952 阅读 · 0 评论 -
memset对memcpy耗费时间的影响
源于之前几天的一个测试程序,作用是用来测试某个系统的内存访问能力,主体测试策略是分配一个缓冲区,然后使用memcpy在分配的缓冲区之间拷贝若干次,计算拷贝时间,然后在多线程的环境下运行多个拷贝程序,再次分别计算每个线程花费的时间,以此来估算系统的内存访问能力、线程调度性能以及带宽分配性能。然而,测试过程中却发生了很多问题,从而也引发了不少的思考,下面细细道来。原创 2017-12-03 09:18:42 · 12866 阅读 · 0 评论 -
深度剖析C语言的各种指针
指针函数、函数指针、指针与数组深度剖析原创 2017-05-11 09:33:29 · 1424 阅读 · 1 评论 -
C语言之list_head双向链表
对于嵌入式开发者来说,双向链表是用的非常多的一种数据结构之一,在linux内核里面有一个叫做list_head的结构体,专门用来做双向链表的种种操作,掌握并理解双向链表以及list_head的实现方式对于嵌入式开发来说是非常有帮助的。原创 2017-09-17 22:42:57 · 2848 阅读 · 0 评论 -
哈夫曼编码
哈夫曼编码的源代码资源链接:哈夫曼编码1. 哈夫曼编码过程将信源符号的概率从大到小依次排列取最小的两个符号按规律进行码元赋值,比如最小的两个当中较大的对应码元’1’,较小的那个对应码元’0’重复步骤1,直到所有的概率值都进行码元的赋值从后往前跟踪符号概率出现的位置所对应的码元,该码元序列就是对应概率的哈夫曼码2. 二叉树概念1. 二叉树:定义 二叉树是一个连通的无环图,并且每一个顶点的原创 2016-08-14 10:46:52 · 2521 阅读 · 0 评论 -
柔性数组
柔性数组是C99标准特性,GNU的GCC编译器也允许这样的写法。具体为在一个结构体最后可以加上一个类似于char str[0];的声明,代表可变长的一个数组,str并不是一个指针,而是代表着str这个数组在其结构体中的偏移量原创 2016-04-16 15:39:22 · 894 阅读 · 0 评论 -
C语言之list_head双向链表
环形缓冲区,顾名思义就是一个环状的存储数据的区域,其空间使用数组进行构造(链表也可以)。环形缓冲区特点是读和写可以是分开的,写入数据之后可以先不去读取,等到需要读取的时候再去读取,并且数据一经读取之后下次就不能再去读取(当然也可以实现重复读取的效果,不过大多用作一次性读取),等于说是一次性的读取。原创 2016-04-16 15:35:16 · 4787 阅读 · 3 评论 -
C语言快速删除列表选中项算法
该算法实现删除任意位置的多个被选中列表项目原创 2016-01-10 21:55:15 · 941 阅读 · 0 评论 -
C99标准的结构体赋值注解
指定初始化结构体变量的一种用法原创 2016-01-21 15:38:47 · 3702 阅读 · 0 评论