![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
HockerF
这个作者很懒,什么都没留下…
展开
-
ffmpeg 程序再开发
ffmpeg项目集成了大量的音视频协议,非常优秀。为了将该项目和另外一个项目对接,需要对ffmpeg项目进行再开发,尽量不要动ffmpeg项目的源码,本来打算使用 ffmpeg 库 + ffmpeg_2 程序的方式再开发。结果ffmpeg程序对ffmpeg项目依赖太大,不好分离,不能像 ffplay 那样。不能把事情弄得太复杂,所以我打算在源项目基础上做,我复制了一个ffmpeg_2.c 文件,打算在工程上添加一个 ffmpeg_2 的可执行文件的编译过程。拷贝文件:cp fftools/ff原创 2020-06-16 19:37:25 · 490 阅读 · 0 评论 -
c语言获取电脑信息
头铁,程序防止被盗,加一个硬件信息绑定一下,产品经理说两行代码就能搞定,叫我快点弄。。。好吧,被教育了,压力好大的两行代码。。。头文件#ifndef __COMPUTER_INFO_H__#define __COMPUTER_INFO_H__int get_board_serial_number(char *board_serial);int get_mac_address(char *mac_address);int get_cpu_id(char *cpu_id);#endif源文件原创 2020-05-29 17:57:30 · 1549 阅读 · 0 评论 -
关于zlog_init 调用返回-1
在项目越来越大了过后,项目维护要花很长的时间,这个时候,如果有个日志文件,将项目运行情况记录下来,就不需要我们时时刻刻盯着项目查看运行情况了。我在项目调研的时候,选择了适合c语言项目的zlog日志项目。满足大众的真香定律,通过配置文件即可修改日志输出格式。在 zlog 调用的第一步,我们需要使用 zlog_init 调用,通过日志配置文件初始化日志运行环境。我这里就讲讲日志初始化中可能遇到的问题。日志配置文件路径不对这个问题就多检测下程序运行目录和日志目录的关系,问题不大。日志配置文件原创 2020-05-23 09:27:40 · 1383 阅读 · 0 评论 -
处理 linux 路径
linux的特色:路径使用 / 字符来分割各单元,使用 … 来代表上级目录,使用 . 来代表本级目录,如果是 / 开头就是绝对路径,否则是相对路径。整套体系都非常完美的解决了文件的索引问题,之前就有对 linux 路径进行分析想法,这里总算折腾出一个有效的分析方法。#include <stdio.h>#include <string.h>#include...原创 2020-03-12 15:28:03 · 189 阅读 · 0 评论 -
gdb调试
对于程序员来说,一谈起gdb,可能就联想起那个黑白界面,一顿紧张。其实没有那么必要,我们来想想,我们在调试的时候,需要哪些功能。第一 程序能够按照实际情况执行第二 程序能够在该停的地方停第三 能够查看程序的各种运行情况第四 程序能够实际情况动态改变一些参数,还能继续执行大概就根据这几点,我们就可以写一个很受欢迎的调试器无疑gdb也做到了,我就讲下为啥gdb那么经典:## 第一,运行...原创 2020-02-28 00:40:22 · 157 阅读 · 0 评论 -
c/c++的枚举类型 - enum 的编程bug
以前一直正常使用枚举类型,一直没有注意到枚举其实是有取值范围的,我以为枚举是无符号整数,今天才知道原来是有符号的。隐隐想起以前有学过,可能没有注意,就忘了。比如我定义下面枚举:enum demo_enum{ DEMO_NUM_MIN = 1, DEMO_NUM_MAX = 0x7fffffff, DEMO_OTHER,};导致编译出现下面问题:error: overflow i...原创 2019-08-28 17:03:29 · 428 阅读 · 0 评论 -
字体资料
我们现在已经习惯了再电脑上编辑文件,浏览网页。然而这些过程中一个重要的,但往往也是被我们忽略了的重要性的模块,那就是字体。字体的出现和发展大家可以看看这位前辈写的文章·《一笔一划间蕴藏的学问 浅谈计算机字体》,真的是下足了笔下功夫。上文提到TrueType, OpenType这些字体渲染,各有各的优势。字体可以说是将整个图书馆装进一块硬盘里的一个关键,中国汉语字体发展的发展历史可以追溯到19...原创 2019-06-05 14:14:08 · 181 阅读 · 0 评论 -
按位运算 求前0和后0的个数
今天看到一个比较有意思的c按位运算求二进制前0的个数。开始我也没有懂起,后来多次实验,才摸到套路,理一个思路,供大家参考。int x264_clz(uint32_t x){ static uint8_t lut[16] = {4, 3, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0}; int y, z = (((x >> 16)...原创 2019-05-30 17:39:03 · 884 阅读 · 0 评论 -
opencv 切取红色
AI识别物体是比较成熟的技术,然而在场景比较单一的地方,用AI做视频感觉有点大材小用。其实在场景比较单一的情况下,很多实例都可以通过颜色来区分不同的物体,但是我们知道,在实际应用中,总会有光照或者其他的影响,加大我们的颜色判断难度。我这里根据我的业务场景找到一个比较好的红色提取思路。我是对每个三通道的像素点进行分析:将图片从其他格式转换为rgb红色像素值最大,且大于0x55其他通道像素...原创 2019-04-25 11:09:00 · 3814 阅读 · 23 评论 -
c语言字符串换行分割
c语言基础库有字符串分割strtok,但是由于不可重入,很多都自己写,下面的代码实现类似和python 的split函数差不多, 只是我将分隔符定为换行符’\n’。代码如下:int split_line(const char *str, char ***str_lines, int *len){ char *s = "\n"; char *b_str = (char *)m...原创 2019-04-08 14:20:04 · 5812 阅读 · 0 评论