- 博客(184)
- 资源 (3)
- 收藏
- 关注
原创 三个例子让你透彻理解const (C/C++)
三个例子让你透彻理解const (C/C++)一、指向 const 对象的指针指向 const 对象的指针,指的是指针指向的内容是const的,不可修改,但指针本身是可以修改的。例1:char acConst[] = "const";const char *pcConst = acConst; *pcConst = ‘C’; /* Error,像这样修改pcConst指向内容的做法是不允许的 */
2013-09-16 20:59:34 5574 1
转载 我为什么不能坚持?
很多大学生来信给我诉说一样苦恼:就是不管做什么事情都容易半途而废,不能坚持到底。 特别郁闷的是有同学说:我发现自己以前做一件事还能坚持到最后,现在大学了就不能坚持下去,有什么好办法解决吗? 要坚持做一件事情,其实是需要意志力----也就是自我控制自己行为的能力。而绝大部分人,包括我在内,天生都是有意志薄弱的时刻,能总是做到自我控制是很难的。 为什么这位大学生觉得自己原来能坚持而现
2013-05-30 19:25:37 983
原创 从“冷却时间”谈产品设计
新入职的95后同事,在客户端UI编程时,将原设计方案中的“间隔时间”字段,改成了“冷却时间”。我问他为什么不按设计方案做,他说他觉得这样改显得很酷啊。我当然是反对这个改动的,不是因为方案设定了就不能改,而是觉得这个改动在这款产品上不合适。因为,产品的使用对象,决定了产品的设计原则。2B(即To Business)的产品设计和2C(即To Customer)的会有不同。2B的产品,面向的...
2018-10-26 16:23:37 443
转载 FLV文件格式解析
flv文件主要由两部分组成:header和body。1.headerheader部分记录了flv的类型、版本等信息,是flv的开头,一般都差不多,占9bytes。具体格式如下:文件类型3 bytes“FLV”版本1 byte一般为0x01流信息1 byte倒数第一位是1表示有视频
2017-03-21 10:53:10 1104
转载 H.264码流解析 一个SPS的nalu及获取视频的分辨率
00 00 00 01 67 42 00 28 E9 00 A0 0B 77 FE 00 02 00 03 C4 80 00 00 03 00 80 00 00 1A 4D 88 10 94 00 00 00 0100 00 00 01为NALu头,其余码流由十六进制转为二进制 67 0110 011142 0100 001000 0000 0000
2017-02-09 20:10:11 1864
原创 程序运行产生SIGABRT信号的原因
目前我所知的程序运行产生SIGABRT信号的原因有三个,若还有其他情况,敬请网友留言。(注:SIGABRT信号即signal 6的信号)一、多次free导致的SIGABRT#include "stdlib.h"#include "string.h"#include "stdio.hint main(){ void *pc = malloc(1024);
2017-02-08 14:53:31 43062 1
原创 centos 6.5下,安装git2.2.1
一、 卸载老版本git1.7.1yum remove git二、 安装编译git源码所需要的工具yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidocyum install gcc perl-ExtUtils-MakeMaker yum install xml
2016-11-08 14:47:08 1939 1
原创 用mingw编译ffmpeg
一、安装mingw具体方法见:http://jingyan.baidu.com/article/455a99509c76d8a1662778f6.html二、下载ffmpeg去官网下ffmpeg源码tar包三、 编译ffmpeg运行mingw脚本“msys.bat”进入shell,路径为: C:\MinGW\msys\1.0下载yasm的windows版本编译后程序,你自己选择32或64,将其
2016-08-08 16:01:45 942
原创 在linux下源码编译x265
一获取libx265源码二编译libx265源码一、获取libx265源码去libx265官网上下载源码,地址:http://ftp.videolan.org/pub/videolan/x265/ 将源码放入linux目录下,注意,若是虚拟机的话要放到Linux系统的真实目录下,而不是windows的共享文件夹,否则会有很多问题。二、编译libx265源码libx265是用CMAKE编译的
2016-08-06 21:08:56 11951
转载 基于h264的SDP相关字段解析
H264的RTP中有三种不同的基本负载(Single NAL,Non-interleaved,Interleaved)应用程序可以使用第一个字节来识别。 在SDP中也说明了本次会话的属性SDP 参数 下面描述了如何在 SDP 中表示一个 H.264 流:. "m=" 行中的媒体名必须是 "video". "a=rtpmap" 行中的编码名称必须是 "H2
2016-04-11 18:51:51 2102
原创 h264协议帧头数据解析
h264常见的帧头数据为:00 00 00 01 67 (SPS)00 00 00 01 68 (PPS)00 00 00 01 65 ( IDR 帧)00 00 00 01 61 (P帧)等等,那么他们代表的意思是什么呢?一、start codestart code有两种,四个字节的“00 00 00 01”和三个字节的“00 00
2016-04-11 18:37:14 21386
原创 linux下用live555进行二次开发指南
一、live555源码下载地址最新代码下载:http://www.live555.com/liveMedia/public/live555-latest.tar.gz二、编译源码过程对于移植进行二次开发者,其实用它编译出的可执行文件是不会去用的,但是看编译过程可以帮助理解live555的架构。还有,看makefile里面的编译宏对我们开发也有帮助。在linux下,我们使用命
2016-03-22 19:30:10 3740
原创 生成onvif相关的开发代码
一、必备网址1. Onvif官网:http://www.onvif.org/2. gsoap官网:http://www.cs.fsu.edu/~engelen/soap.html二、操作步骤1. 下载gsoap在gsoap官网旁边,有sourceforge的链接,去那里下源码。https://sourceforge.net/projects/gsoap2/f
2016-02-26 16:13:13 1266
转载 CentOS6.5下编绎gSoap相关问题及解决
一,开发环境准备:1,centos为虚拟下安装,版本为32位,(64位同样可以,均测过,需注意的是红色部分内容)2,gSoap:gsoap_2.7tar.gzhttp://www.cs.fsu.edu/~engelen/soap.html下载下来解压缩,按正常安装过程进行编译、安装。# tar zxvf gsozp_2.7.12.tar.gz # cd gsoa
2016-02-23 15:11:57 3535
原创 虚拟机拷贝后网卡eth0变成了eth1的解决办法
一、修改/etc/udev/rules.d/70-persistent-net.rules文件将之前的eth0那行删了,将eth1改为eth0二、配置ifcfg-eth0脚本,注意HWADDR那行,要和上图ATTR对应DEVICE=eth0TYPE=EthernetONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=dhcpDEFROUT
2015-12-16 16:54:23 9085 1
原创 根据gbt28181协议,注册到SPVMN平台的方法
说明:SPVMN平台IP为192.168.8.180,设备IP为192.168.8.184一、向平台注册的交互协议1、客户机向SPVMN平台注册协议REGISTER sip:34020000002000000001@3402000000 SIP/2.0Via: SIP/2.0/UDP 192.168.8.184:5060;rport;branch=z9hG4bK1839159
2015-11-05 11:16:39 7684 1
原创 tcpdump常用命令
tcpdump -i eth3 host 192.168.8.87 -w ./rtp.pcap -s 0i: 指定网卡host: host + ip,抓指定ip的交互包,注意,是交互包。若要抓指定原ip或目的ip,还需加上src 或dst,即src host 192.168.8.87。w:指定路径-s 0:抓取数据包时默认抓取长度为68字节。加上-s 0 后可以抓到完整的数据包
2015-11-03 12:41:20 1020
原创 MPEG2-PS格式分析实例
一、 PS 包头格式1、PS 包头格式包起始码字段 pack_start_code 值为'0000 0000 0000 00000000 0001 1011 1010' (0x000001BA)的位串,用来标志一个包的开始。系统时钟参考字段 system_clock_reference_base,system_clock_reference_extenstio
2015-09-28 18:21:28 4981 1
转载 shell脚本助你在linux下实时查看单网卡流量
#!/bin/bash while [ "1" ] do eth=$1 RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}') TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}') sleep 1 RXnext=$(c
2015-09-23 15:54:39 4278
转载 shutdown和close详解
在Linux socket关闭连接的方法有两种分别是shutdown和close,首先看一下shutdown的定义#includeint shutdown(int sockfd,int how);how的方式有三种分别是SHUT_RD(0):关闭sockfd上的读功能,此选项将不允许sockfd进行读操作。SHUT_WR(1):关闭sockfd的写功能,此选
2015-09-10 11:13:07 1568
原创 wireshark中带有SLE和SRE的SACK包详解
一、名词解释SLE: Sequence Left Edge of already acknowledged data when Selective Acknowledgments are used. 即已收到tcp数据的左边界。SRE: Sequence Right Edge of already acknowledged data when Selective Acknowledgmen
2015-09-09 17:26:14 9102 1
原创 正则表达式在notepad++中的使用
在看日志时发现不同等级的日志太多,需要进行过滤,notepad++支持正则表达式,故选用它 ^[(FATAL)|(WARNNING)].*支持查找FATAL和WARNNING。
2015-08-27 11:32:59 1235
原创 linux启动时进入只读系统的恢复方法
一、现象系统登录时有磁盘分区挂载错误的信息,想要修改任何文件,都提示文件只读。二、解决方案重新挂载,使fstab等文件可写。命令: mount / -o remount修改fstab文件: vi /etc/fstab 删除你自己加的那些命令行,很有可能是其中某个导致的错误,然后保存。重启电脑。若命令不行,则强制下电重启。起来后你就发现问题解决了。
2015-08-10 10:18:56 2296
转载 centos下的vnc server的使用
一、用户创建vnc用户需要先创建linux用户。linux用户创建方法:useradd test修改密码方法:useradd test修改VNC密码su test //切换到用户testvncpasswd //设置用户的test登录密码exit二、vnc配置文件修改VNCSERVERS="1:root 2:
2015-07-15 11:26:34 870
原创 用shell脚本批量修改目录下的文件名
#!/bin/bashfile_head=""file_b=""Folder_A="/root/share/video/decode_test/2" for file_a in `ls *.data`; do file_b="${file_a:0:4}.h264" mv $file_a $file_bdone
2015-07-02 16:17:47 3273
转载 Centos 7 安装VNC步骤
原文:http://wic.xingning.gov.cn/blog/29首先试试服务器装了VNC没[root@wic ~]# rpm -q tigervnc tigervnc-server没安装的话会直接出现package tigervnc is not installedpackage tigervnc-server is not installed
2015-05-06 16:52:28 992
转载 Linux网络编程socket错误分析
Linux网络编程socket错误分析 socket错误码: EINTR: 4阻塞的操作被取消阻塞的调用打断。如设置了发送接收超时,就会遇到这种错误。只能针对阻塞模式的socket。读,写阻塞的socket时,-1返回,错误号为INTR。另外,如果出现EINTR即errno为4,错误描述Interrupted system call,操作也应该继续。如果recv的返回值为0
2015-03-26 15:36:45 1084
转载 TCP选项之SO_RCVLOWAT和SO_SNDLOWAT
每个套接口都有一个接收低潮限度和一个发送低潮限度。 接收低潮限度:对于TCP套接口而言,接收缓冲区中的数据必须达到规定数量,内核才通知进程“可读”。比如触发select或者epoll,返回“套接口可读”。 发送低潮限度:对于TCP套接口而言,和接收低潮限度一个道理。 理解接收低潮限度:如果应用程序没有调用recv()去读取socket的接受缓冲区的数据,则接受缓冲区数据将注一直保存
2015-03-25 16:21:21 1670
原创 生成coredump文件的方法
输入以下命令:ulimit -a命令解释:查看限制ulimit -c unlimited命令解释:设置生成的core文件大小为无限制,unlimited这个参数可以改为数字,如1024等等,表明生成的core文件最大值为1024命令解释:去除生成的
2015-03-04 12:20:51 1139
原创 虚拟机中用centos光盘安装RPM包的方法(实体机也可适用)
1、在虚拟机光盘选项中设置连接路径为centos安装光盘。2、将光盘挂载到本地目录。mkdir cdrommount /dev/cdrom cdrom3、进入目录rpm包的目录cd cdromcd Packages4、用命令安装rpm包:如:rpm -ivh telnet-server-*.rpm telnet*.rpm
2015-01-27 14:40:29 2738
原创 在centos下安装git
1. 下载geekery repo文件(root权限)wget -P /etc/yum.repos.d/ http://geekery.altervista.org/geekery-el6-x86_64.repo 2. 安装 rpmrpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpmrpm -ivh epel-release
2015-01-14 09:52:18 679
转载 epoll_create, epoll_ctl和epoll_wait
NAME epoll - I/O event notification facility SYNOPSIS #include DEscrīptION epoll is a variant of poll(2) that can be used either as Edge or Level Triggered
2015-01-08 16:52:04 797
原创 解决在epoll中accept接收端口会漏处理的问题. 直到新的socket消息到达,epoll_wait才响应去接收socket端口数据的问题
在用epoll的边缘触发模式中,发现socket接收有异常,有时会出现新的socket连接到底,但是需要有新的数据到底时,epoll_wait才响应去接收数据这个问题。原因分析:epoll的边缘触发模式下,同一端口可读时,epoll_wait只会提示一次。在accept中,当2个端口同时到达时,只会响应一次。这时就要用 while等循环函数去接收消息和接收accept响应,一般接收消息
2015-01-08 15:57:12 2369 1
原创 整理华为C/C++编码规范
目 录1 排版2 注释3 标识符命名4 可读性5 变量、结构6 函数、过程7 可测性8 程序效率9 质量保证10 代码编辑、编译、审查11 代码测试、维护12 宏1 排版1-1:程序块要采用缩进风格编写,缩进的空格数为4个
2015-01-07 16:18:24 5333
转载 编译后的汇编语言程序
们来看看由GCC 生成的汇编语言程序。程序1-1 是为检验而编写的小程序。程序 1-1 10 次加 1 运算的程序#include int a, b;main(){ a = 0; do { b += a + 1; a++; } while (a }如果在编译此程序时加上-S 选项,如“gcc -
2015-01-06 17:34:50 1351
转载 TCP/IP协议栈概述及各层包头分析
一、摘要 对之前几篇博文涉及到的网络通信协议进行分析,概述出TCP/IP的协议栈模型,最后根据实例对各层包头进行分析。 二、标准TCP/IP协议栈模型 标准TCP/IP协议是用于计算机通信的一组协议,通常被称为TCP/IP协议栈,以它为基础组建的互联网是目前国际上规模最大的计算机网络。正因为互联网的广泛应用,使得TCP/IP成为了事实上的网络标准。1、O
2014-12-12 16:51:21 1080
转载 通过load值查服务器问题
几乎每个接触类 Unix 操作系统的工程师都知道如何查看系统负载。但这东西的工作机理到底是怎样的,可能没有多少能说清楚。对比了一些相关信息,加上自己的理解,做一下笔记。 什么是 Load ? 什么是 Load Average ? Load 就是对计算机干活多少的度量(WikiPedia: the system load is a measure of the amount of work
2014-10-14 16:40:51 2466
原创 Linux下NTP服务器端配置
我的[root@bogon ~]# clear[root@bogon ~]# lsb_release -aLSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd6
2014-10-11 11:56:55 6884
原创 在redhat/centos下源码安装gcc的方法
在安装GCC之前,需要预先安装一些软件。先安装GMP,然后 MPFR,最后才是MPC安装内容下载:gcc-4.8.2.tar.bz2一、解压安装包。tar xf gmp-4.3.2.tar.bz2tar xf mpc-0.8.1.tar.gztar xf mpfr-2.4.2.tar.bz2tar xf gcc-4.8.2.tar.bz2二、将g
2014-10-10 17:43:23 1662
ONVIF2.0中文协议原版(word).pdf
2020-06-10
flv二进制数据解析工具(FlvParse)-已包含齐全的动态库
2017-03-20
mii-tool-1.65.0.0.tar.gz mii-tool源码
2013-05-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人