自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

努力奋斗

人与人的差别在于各自对自己业余时间的安排。

  • 博客(49)
  • 资源 (14)
  • 收藏
  • 关注

原创 悬崖勒马之三年编码的反省

12年初入职场到现在已经三年有余,从当时技术小白到现在的勉强小手,显然这样的结果是我不曾希望的。步入职场之初,暗下决心,三年时间里希望能在工作技术上有一个质的变化。奈何事实却是时间消磨了斗志,抹灭了激情,梦想被现实打败,而且是一败涂地。三年的时间里,回首思考过去的计划安排,却发现花在钻研技术上的时间其实并不少的,为何却没有比较深入的提高呢?或者说,为什么感觉不到进步呢?在写这个之前,自己也冥思苦想

2015-08-05 00:27:38 7816 41

转载 程序员技术练级攻略

本文转载之陈皓老师的个人博客网站酷壳,分享与大家。原文链接:陈皓老师月光博客6月12日发表了《写给新手程序员的一封信》,翻译自《An open letter to those who want to start programming》,我的朋友(他在本站的id是Mailper)告诉我,他希望在酷壳上看到一篇更具操作性的文章。因为他也是喜欢编程和技术的家伙,于是,我让他把他

2015-06-26 22:55:15 2566 2

转载 高效程序员的45个习惯

1 做事“出了问题,第一重要的是确定元凶,找到那个人!一旦证实了是他的错误,就可以保证这样的问题永远也不会再发生了。”指责不会修复bug,把矛头对准问题的解决办法,而不是人。这是真正有用处的正面效应。也许你不相信,但确实有些人常常不把解决问题放在最高优先级上。也许你也没有。先自我反省一下,当有问题出现时,“第一”反应究竟是什么?一个重大的错误应该被当作是一次学习而不

2012-10-07 19:51:26 2277

原创 遇见未来的自己

日常工作安排,基本都是事情驱动着去完成,没有把事情的重要性凸显出来产生对应的压迫感,随性而为,导致时间过度浪费,恶性循环后的结果是想做的事情没有时间安排。当提前规划出重要的事情去执行时,就会迫使挤出时间去执行。所以提前的良好规划安排,才能更好安排时间,从而达到节省时间。假象一下,如果让你把现在当成明年,写下当前的绩效考核,你会怎样写,接下来一年将如何去达成目标。异或将时间推后五年十年,这些年后,你想过上怎么样的生活! 你会变成什么样!写下期望的状态,这就是你想要创造的生活,所以接下来就需要在这个时间里,来完

2017-12-12 00:24:23 2678 1

原创 浅析live555媒体库之实现实时码流预览

live555实时码流预览的相关实现操作。

2015-09-23 12:31:40 4719 1

原创 浅析live555媒体库之自己实现文件流的读写

博客前面两篇基本介绍了live555的一些入门知识以及大致的工作流程框架。下面就是代码的实现,如果通过自己实现的子类是实现文件流的播放。 主要实现两个子类即可:FramedSource 和 FileServerMediaSubsession。Subsession来建立任务,Source获取视频源数据,然后susession新建rtpsink来发送视频数据到client即可。实现的文件如下:头文件c

2015-09-16 21:47:53 5051

原创 浅析live555媒体库之入门编译使用

简介          Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+、DV、JPEG视频和多种音频编码。同时由于良好的设计

2015-09-12 12:18:52 3444

原创 浅析live555媒体库之工作流程介绍

liveMedia 项目(live555)的源代码包括四个基本的库,各种测试代码以及Media Server。四个基本的库分别是: UsageEnvironment&TaskScheduler, groupsock, liveMedia和BasicUsageEnvironment。

2015-09-12 11:14:53 4576 2

原创 老生常谈之widows下link错误

link错误千千万,很多情况都会出现各种纠结的link问题,遇到问题不要急躁,细心仔细对比,首先确认链接问题,然后是否成功导出,查看导出和调用接口差异,确认各个可能引起链接错误的配置信息等等,一步一步缩小范围。

2015-08-26 00:49:01 3051 1

原创 入门级码农,该不该写技术博客

作为习惯于在字母的世界里穿梭,大多是时候都在和电脑交流的IT人事,能完整的、流畅的表达自己想法已经不是一件易事,更不用谈用通俗易懂的文字向别人解释清楚透彻何为C语言中的指针,c++中虚函数表,java中的反射,shell中的正则等等专业知识了。所以写博客是一门技术活,特别是写技术博客,你需要在自己开发的经验基础上去总结,去归纳,每个问题的细枝末节都需要弄得清清楚楚,才能想别人阐明清楚你的观点和理论

2015-08-22 02:53:07 7157 17

原创 关于对H264码流的TS的封装的相关代码实现

工作需要对ts封装

2015-08-11 22:07:38 8491 4

原创 一个程序员第二个年头的坚持:总结2014,规划2015

时间总是流逝的太快,嗖的一下,今年又过去了。依照惯例,在接近年尾的时候,给自己过去一年的时间里作一个技术上总结,并规划好新的一年学习计划,希望在总结中学习,更好的提升各方面的能力。总结20142014年是值得纪念的一年,是相对2013年收获比较丰盛的一年。       首先说下工作方面,因为换了一份新的工作,适应新的环境,     再者就是工作之外的学习

2015-01-06 22:51:41 6537 16

原创 关于对H264码流的PS的封装的相关代码实现

最近因为新工作要维护别人留下的GB模块代码,先熟悉了流程,后来就看了下

2014-11-01 18:20:45 14296 58

原创 网络公有协议之邮件SMTP篇

之前在工作中也是遇到过协议,那个时候因为比较急,只是解决已

2014-09-23 00:14:29 8960

原创 Linux下开发关于Samba/Vimrc/svn/tftp/等基本的配置使用

做了一年半的Linux的网络编程,准备找下一家了,所以分享自己现在开发的一些环境配置,大家相互学习。1 平台    首先就是装一个Linux系统,我现在装的是ubuntu10.04比较稳定好用!后面应该会用12.04,听说也挺稳定的!再虚拟一个xp系统,这里可以在公司内部和同事通信用!毕竟好多软件还只能在windows系统下运用  当然也可以装双系统,但是不好交互,所以不很推荐。

2014-01-17 08:19:30 3930 2

原创 Onvif开发之服务端成功对接Rtsp视频流篇

前面篇介绍onvif服务端的发现功能,继续在之前的代码基础上完成一个RTSP流的工作,也就是客户端通过ONVIF协议来预览设备端在这个之前必须确定几个简单的条件1 设备端能被发现2 设备端支持RTSP协议,并且能够通过VLC进行正常的预览通过onvif协议设备需要做的几个基本事情:1  __tds__GetCapabilities获取设备能力2  __trt__GetP

2014-01-07 19:05:36 23185 26

原创 Onvif开发之服务端发现篇

服务端的开发相对来说比客户端稍微难一点,也就是给填充相关结构体的时候,需要一点一点的去查阅,验证各个结构中各个成员各自代表什么意思,以及对应的功能需要是那个接口实现,这是开发服务端最头疼的事情。(在开发工程中郁闷了好久,后面是通过搜索工具抓包海康设备来填充相关信息的)开始切入整体了,同理需要前面生成的代码,这个时候较之客户端的开发,需要在代码生成的时候那个soapServer.c文件了

2013-12-31 13:15:21 13674 7

原创 Onvif开发之客户端鉴权获取参数篇

前面一篇已经介绍了客户端如何发些设备,下面这篇简单介绍下在发现设备后,如何通过ONVIF协议来获取设备的相关参数ONVIF中不管是客户端还是设备端,最先实现的接口都是关于能力的那个接口,客户端也就是[soap_call___tds__GetServiceCapabilities] 通过获取此函数的通过获取的接口才知道设备具有那些能力,能够进行那些操作,服务端最基本的也需要实现这接口,让

2013-12-30 11:54:02 18729 42

原创 Onvif开发之客户端搜索篇

关于ONVIF的广播,有客户端搜索和服务端发现的区别:客户端向固定的网段和固定的端口发送广播消息,服务端在对应的端口回复广播请求消息本文首先介绍客户端如何进行广播的已经对广播回复的信息的基本处理。客户端这里处理相对服务端比较复杂一点,需要注意几个地方:1 广播的ip和端口号(注意这个端口号和通信的端口是不一样的,通信端口号可以自己随意定一个,但是这个广播的是ONVIF协议定好公用的)

2013-12-28 16:25:13 13853 16

原创 Onvif开发之代码框架生成篇

看了ONVIF的简单介绍应该对它的基本使用都有了一些基本的了解了吧!下面我讲一步分解向大家介绍下如何通过gsoap生成需要的代码,以及代码中需要注意的问题[基于Linux平台 C开发] 生成Onvif相关源代码(我现在使用的gsoap版本是gsoap2.8.14,下面有下载地址)   在下载的gsoap文件下,在/gsoap-2.8/gsoap的目录下有有个typemap.dat文

2013-12-26 20:08:54 14975 13

原创 Onvif开发之基础介绍篇

什么是Onvif协议,谁开启了Onvif时代?ONVIF:原意为 开放型网络视频接口论坛,即 Open Network Video Interface Forum ,是安讯士、博世、索尼等三家公司在2008年共同成立的一个国际性 开放型 网络视频产品 标准网络接口 的开发论坛,后来由这个技术开发论坛共同制定的开放性行业标准,就用该论坛的大写字母命名,即ONVIF 网络视频标准规

2013-12-26 18:08:49 11136 1

原创 坚持前进的方向:总结2013,规划2014

转眼已经到了年底了,看到坛友都开始写下了自己的今年总结以及明年的展望,看完之后比较有感触,所以也动手写下自己的总结和规划,这样也能给自己今年一个交代,可以给明年定一个方向,希望能弥补过去的不足,在未来的一年过得更加充实,技术也能上一个台阶。总结2013   从毕业开始就在这家安防公司做到现在,不算太长,从去年6月底到现在,一直负责设备的网络通信这块。因为主要是维护性的工作,而且框架已经

2013-12-23 08:19:55 7602 37

原创 从内存上解析c++中数组为什么不支持多态

前段时间在c/c++版块的时候,看到有人问为什么数组对象不支持多态的问题,当时没有回,只是感觉不支持!不能拿出理论和实际证据!后面因为工作也就没有细想,今天刚好看到酷壳上陈皓老师说的也就来述说一下!因为这个涉及到内存的问题,所以 我们先来一个小段c语言简单代码typedef struct { void *ptrv; int a; char c;

2013-12-05 21:10:12 2636 1

转载 C++对象的内存布局深层剖写(下)

如果没有看上节内容请:C++ 对象的内存布局深层剖析(上)重复继承下面我们再来看看,发生重复继承的情况。所谓重复继承,也就是某个基类被间接地重复继承了多次。下图是一个继承图,我们重载了父类的f()函数。其类继承的源代码如下所示。其中,每个类都有两个变量,一个是整形(4字节),一个是字符(1字节),而且还有自己的虚函数,自己overwrite父类的虚函数。

2013-11-26 20:46:16 1746

转载 C++ 对象的内存布局深层剖析(上)

对象的影响因素简而言之,我们一个类可能会有如下的影响因素:1)成员变量2)虚函数(产生虚函数表)3)单一继承(只继承于一个类)4)多重继承(继承多个类)5)重复继承(继承的多个父类中其父类有相同的超类)6)虚拟继承(使用virtual方式继承,为了保证继承后父类的内存布局只会存在一份)上述的东西通常是C++这门语言在语义方面对对象内部的影响因素,当然,还会有编译器的

2013-11-25 20:49:22 2002

原创 Shell编程学习---第七篇:正则表达式

随着对unix和Linux熟悉程度的不断加深,需要经常接触到正则表达式这个领域。使用shell时,从一个文件中抽取多于一个字符串将会很麻烦。例如,在一个文本中抽取一个词,它的头两个字符是大写的,后面紧跟四个数字。如果不使用某种正则表达式,在shell中将不能实现这个操作。本章内容包括:•  匹配行首与行尾。•  匹配数据集。•  只匹配字母和数字。•  匹配一定范围

2013-08-20 20:57:42 941

原创 Shell编程学习---第六篇:命令执行顺序

在执行某个命令的时候,有时需要依赖于前一个命令是否执行成功。例如,假设你希望将一个目录中的文件全部拷贝到另外一个目录中后,然后删除源目录中的全部文件。在删除之前,你希望能够确信拷贝成功,否则就有可能丢失所有的文件。在本章中,我们将讨论:•  命令执行控制。•  命令组合。如果希望在成功地执行一个命令之后再执行另一个命令,或者在一个命令失败后再执行另一个命令,&&和||可

2013-08-20 20:51:52 894

原创 关于c语言的一个小bug(c专家编程)

不多说,说了都是累赘!直接看代码吧!#include int array[] = {23, 34, 12, 17, 204, 99, 16};#define TOTAL_ELEMENTS (sizeof(array)/sizeof(array[0]))int main (void){ int d = -1, x; if( d <= (TOTAL_ELEMENTS

2013-08-19 01:13:26 3161 4

原创 关于正则表达式1

在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。如果你想查找某个目录下的所有的Word文档的话,你会搜索*.doc。在这里,*会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的

2013-08-18 23:12:36 729

原创 Shell编程学习---第五篇:Shell的输入和输出

在shell脚本中,可以用几种不同的方式读入数据:可以使用标准输入—缺省为键盘,或者指定一个文件作为输入。对于输出也是一样:如果不指定某个文件作为输出,标准输出总是和终端屏幕相关联。如果所使用命令出现了什么错误,它也会缺省输出到屏幕上,如果不想把这些信息输出到屏幕上,也可以把这些信息指定到一个文件中。大多数使用标准输入的命令都指定一个文件作为标准输入。如果能够从一个文件中读取数

2013-08-18 16:40:52 919

原创 Shell编程学习---第四篇:文件名置换

四 文件名置换当你在使用命令行时,有很多时间都用来查找你所需要的文件。 S h e l l提供了一套完整的字符串模式匹配规则,或者称之为元字符,这样你就可以按照所要求的模式来匹配文件。还可以使用字符类型来匹配文件名。在命令行方式下,使用元字符更为快捷,所以在本章我们只介绍这部分内容。在本章我们将讨论:•  匹配文件名中的任何字符串。•  匹配文件名中的单个字符。• 

2013-08-18 15:28:28 918

原创 Shell编程学习---第三篇:后台执行命令

为了使这些进程能够在后台运行,也就是说不在终端屏幕上运行,有几种选择方法可供使用。在本章中我们将讨论:•  设置 crontab文件,并用它来提交作业。•  使用at命令来提交作业。•  在后台提交作业。•  使用nohup命令提交作业。名词解释:cron  系统调度进程。可以使用它在每天的非高峰负荷时间段运行作业,或在一周或一月中的不同时段运行。At at

2013-08-18 15:26:39 932

原创 Shell编程学习---第二篇:Find命令和xargs

二 使用find和xargs1 Find 命令 有时可能需要在系统中查找具有某一特征的文件 (例如文件权限、文件属主、文件长度、文件类型等等 ) 。这样做可能有很多原因。可能出于安全性的考虑,或是一般性的系统管理任务,或许只是为了找出一个不知保存在什么地方的文件。Find是一个非常有效的工具,它可以遍历当前目录甚至于整个文件系统来查找某些文件或目录。在本章中,我们介绍以

2013-08-12 21:30:13 792

原创 Shell编程学习---第一篇:文件安全与权限

一 文件安全和权限1 文件当你创建一个文件的时候,系统保存了有关该文件的全部信息,包括:? 文件的位置。?  文件类型。?  文件长度。?  哪位用户拥有该文件,哪些用户可以访问该文件。? i 节点。?  文件的修改时间。?  文件的权限位。2文件类型还记得前面一节所提到的文件权限位前面的那个字符吗?我们现在就解释一下这个横杠所代表的意思,文件类型有

2013-08-12 20:57:30 824

原创 写给自己的年总结和下年计划

从2012年6月份毕业工作到现在开始写这个总结差五天就刚好过去十三个月。一年里变化太少,也变化太多;感觉什么都变了,不再以前坐学生那样,什么都不用想,每天固定的上课下课,游戏.重来不用担心没有钱用,今晚会不会又要熬夜。感觉又什么都没变,还是上班下班,逛论坛,逛街!生活还是这么固定,周而复始的,厌倦却又不得不从。    一年里学到了太多,也学到了太多。记得刚来的时候,连最基本的ifo

2013-07-20 17:22:07 3265 7

原创 ubuntu 下安装 pthread man 遇到的一些问题

代码时想看pthread_create的函数说明,敲入man pthread_create终端输出No manual entry for pthread_create。应该是有些man文档没有安装。首先执行:sudo apt-cache search pthread搜索出来的第一行显示: glibc-doc - GNU C Library: Documentation

2013-07-18 12:53:19 3061 1

原创 读王爽老师汇编语言笔记---int指令、端口、外中断以及键盘的输入

2013-7-15 18:42:05中断信息可以来自cpu的内部和外部。当cpu内部有需要处理的事情发生的时候,将产生需要马上处理的中断信息,引发中断过程。我们将介绍另外一种重要的内中断,用int指令引发中断。int指令int指令的指令格式:int n,n为中断类型码,它的功能是引发中断过程。cpu执行int n 指令,相当于引发一个n号中断过程,执行过程如下:(1)、

2013-07-15 22:08:09 1098

原创 读王爽老师汇编语言笔记---标志寄存器和内中断

2013-7-13 9:57:58cou内部的寄存器中,有一种特殊的寄存器(对于不同的处理器,个数和结构都可能不同)具有三种作用:1、用来存储相关指令的某些执行结构2、用来为cpu执行相关执行提供行为依据3、用来控制cpu相关工作方式这类特殊的寄存器在8086cpu中被称为标志寄存器。8086cpu的标志寄存器有16位,其中存储的信息通常被称为程序状态字(PSW)。

2013-07-14 15:34:35 1184

原创 读王爽老师汇编语言笔记---转移指令的原理和call,ret指令

2013-7-9 20:57:50转移指令的原理可以修改IP,或同时修改CS和IP的指令统称为转移指令,概括讲:转移指令就是可以控制cpu执行内存中某处代码的指令。8086cpu转移行为:1 只修改IP时,称为段内转移,比如 jmp ax2 同事修改CS和IP时,称为段间转移, 比如 jmp 1000:0由于转移指令对IP的修改范围不同,段内转移又分为短转移和近转移

2013-07-10 21:31:21 1103 1

原创 关于字符串操作的一些函数简单说明与应用

1 strcasecmp, strncasecmp此函数类似与 strcmp,比较字串符,只是对大小写不敏感(不区分)int main (void )

2013-07-10 16:31:29 1472

leetcode答案

刷题答案,leetcode上的题目整理成pdf,方便后面自己学习,也是方便他人吧。

2017-02-28

onvif开发discovery

onvif客户端开发之搜索功能源码!已经经过验证,可以参考我的博客来开发

2013-12-26

onvif开发wsdl所用文件

通过gsoap生成onvif.h文件是需要的所有的wsdl文件

2013-12-24

gsoap-2.8.14

开发onvif的gsoap-2.8.14的完整开发包。

2013-12-24

计算机程序的构造和解释

计算机程序的构造和解释!想看了就下载看看吧!不想写太多了

2013-10-15

重构改善既有代码的设计

重构改善既有代码的设计!不多说啥了,有兴趣就下载看看吧!

2013-10-12

c++标准库(侯捷)

c++ 标准库,侯捷译! 巨细靡遗,井然有序!

2013-09-28

c语言程序设计<第二版>

c语言程序设计,第二版,高清晰中文版! c语言初学者入门级教材!

2013-09-28

空空如也

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

TA关注的人

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