自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 IPC、NVR架构

IPC、NVR、DVR的软件架构都是差不多的。虽然没看过Android的架构,但是对单机设备来说,架构都是类似的。总体采用分层的形式。最底层是系统封装层,基础组件,类似的开源模块:curl,boost,sqlite,freetype,jsoncpp,openssl。业务支撑层:把适合也摄像头的业务下沉的这个层,也就是业务的共性部分,这一层开源相对较少。就是把业务细化为各个组件,提供给应用层。比如媒体采集,封装。应用层:这一层就是安防强相关的,比如web、onvif、gb28181、rtsp,基本

2022-02-28 22:26:13 3364

原创 C++ 默认构造函数

class CTest{public: CTest() = defalut; ~CTest() = defalut;}显示的指定默认构造函数;

2022-01-22 10:46:59 146

原创 C++11 初始化成员变量

在c++11之前初始化变量在构造函数中class CTest{public: CTest::CTest():m_a(1){}private: int m_a;}c++11可以在成员变量定义的时候直接赋值。class CTest{public: CTest::CTest(){}private: int m_a = 1;}...

2022-01-22 10:44:14 550

转载 Localtime导致进程死锁问题探源-转

前段时间我们发现在信号处理函数中使用localtime()函数可能会导致进程死锁。但一直没有找到解决此问题的方法,也没有找到产生此问题的根源。最近我考虑使用pthread_mutex来包装一次localtime()函数,达到安全使用localtime()函数的目的。在测试中发现,使用pthread_mutex并不能达到预期的设想。我把localtime()相关的代码全部删除,发现问题依旧。可见

2017-07-26 10:31:13 930

原创 libevent学习之helloworld

libevent事件驱动模式。可以使用telnet测试(telnet 127.0.0.1 9995)/* This example program provides a trivial server program that listens for TCP connections on port 9995. When they arrive, it writes a short me

2016-09-04 18:43:02 664

原创 通用网络协议库

常用的网络框架,libevent、libev、boost.asio,ace,基于事件驱动的模式。选一个著名的开源库还是自己写。需要从几个方便考虑:1.目的,用来编写通用网络协议,包括ftp、http、dns等协议。2.稳定性。维护和使用的多。3.性能。应用于嵌入式设备。基于当前的实际情况,应该编写符合自己的网络框架。

2016-09-03 12:22:24 1131

原创 每日一练

最大公约数问题,有2个整数M,N,求最大公约数?这是数学问题:对公约数数学中有特定的书法,叫辗除法。1.M>N情况下,M除以N,余数r,如果r=0,则N就是最大公约数,结束。2.当r!=0,则M=N,N=r,执行第一步。为何如此推理,想不明白。此题可以采用递归,也可以使用循环处理。递归方式:int digui(int a,int b){ if(b > 0) re

2012-02-09 14:44:57 234

原创 每日一练

做面试题目有点类似做小学的应用题,理解问题,分析问题,尝试解决问题,检验假设。理解题目的意思。提出问题?分析问题。尝试解决问题。检验假设。

2012-02-07 16:52:33 235

原创 每日一练

1. (void*)ptr和*(void **)ptr的区别?ptr是指针。前者是指针强转,后者先强转为指针的指针,后获取指针的值。2.如何到指定的地址执行代码?强转为函数指针,调用该函数。0x100000。(*((void(*)(void))0x100000))();

2012-02-07 08:34:01 233

原创 可执行文件及linux进程内存

代码通过编译器编译为可执行文件,linux下执行文件的格式为elf。linux下物理内存通过mmu管理映射到进程的虚拟内存中,虚拟内存的分布1.代码段:只读内存区,当尝试写,系统产生段错误。linux下把elf文件中的代码段映射到该区域。该地址从08048000开始。2.data段:数据段,初始化的全局变量和static变量。为何还产生bss段,为了可执行程序更

2012-02-06 15:27:42 562

原创 shell脚本语法分析

任何语言都是围绕数据和算法。shell脚本语言是弱类型语言,数据没有类型,全部当做字符串处理。算法通过逻辑控制完成,引入关键字if,for,while等。脚本语言与编译语言不同之处,编译语言编译成目标代码,直接由计算机运行。脚本语言读取程序,转化为内部形式,再由脚本解释器执行。1.开头#!/bin/bash -f 最好采用这种方式,如果第一行不写的话,linux当初二进制可执行文件,发

2012-01-05 23:00:26 513

原创 gnu make工具

linux下源码的自动化编译使用make,如果只是C文件使用make反而麻烦,但是多个c文件编译成可执行文件首先使用gcc一个一个文件编译,最后把目标文件链接。而这样的工作需要不停的重复。引入make是为了自动化编译。但这不属于编译器的部分,至少gcc是这么做,vc是集成环境,包含了make的功能。linux下使用的编译器和make工具都是gnu项目的。c shell make都使用一定的字符组成

2012-01-02 23:46:20 363

原创 UCC-C语言语法分析

C标准中对语法分成3类:表达式,声明,语句。表达式是一种数学表达式的描述。声明是对数据类型的定义,语句包括前面2种,还有选择语句等。UCC中定义grammer头文件,分别描述声明,表达式,语句。声明的语法分析及检查decl.c decl.h declchk.c。表达式的语法分析及

2011-09-10 12:26:30 737

原创 UCC--C语言词法分析

C89中定义词法有:关键字,标识符,常量,串字符值,算符,标点符号。关键字:共有32个关键字。标识符,定义如下:非数字字符,标识符 非数字字符,标识符 数字字符。3种定义。 非数字字符的定义:A~Z,a~z,_。常量:浮点常量,整数常量,枚举常量,字符常量。字符常量:'a

2011-09-09 00:08:10 1054

g711封装rtp传输

g711音频文件封装rtp格式传输,vlc接收可以播放。

2011-06-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除