自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 资源 (37)
  • 收藏
  • 关注

原创 VLC 编程

VLC 编译、开发

2016-08-23 10:09:21 540

原创 Effective C++第四章总结

26.尽可能延后变量的定义式的出现时间。总结:尽可能延后变量定义式的出现,这样做可增加程序的清晰度并改善程序效率。27.尽量少做转型动作。旧式转型:(T)expressionT(expression)c++提供新式转型:const_cast(expression) :将对象的常量性转除  const对象转成非constdynamic_cast(exp

2016-08-22 21:03:11 300

原创 Effective c++ 第三章总结

13.以对象管理资源auto_ptr是个“类指针对象”,其析构函数自动对其所指对象调用delete;void f(){std::auto_ptr pInv(createInvestment());...}auto_ptr:若通过copy构造函数或copy assignment操作符复制它们,它们会变成null,而复制所得的指针将取得资源的唯一拥有权。

2016-08-21 15:21:23 264

转载 C++定义隐式转换函数

转载:http://www.cnblogs.com/younes/archive/2010/03/08/1681115.htmlC++定义隐式转换函数  C++中单参数构造函数若不声明为explict,在合适的场合可以产生隐式转换:由成员变量类型转换为类类型。  下面的代码展示如何实现反向的转换:  1 void changeFontSize(FontHandl

2016-08-21 14:41:18 1295

原创 Effective c++ 第二章总结

5.了解C++默默编写并调用哪些函数。当你定义一个空类,c++默认会给你加上一些函数,但是惟有当这些函数被需要(被调用),它们才会被编译器创建出来。如下:class CEmpty{};相当于:class CEmpty{public:CEmpty(){..}CEmpty(const CEmpty& rhs){...}~CEmpty(){...}//编译器产出的析构

2016-08-20 12:01:59 297

原创 Effective c++ 第一章总结

1.视C++为一个语言联邦。由:C,Object-Oriented C++,Template C++,STL组成每个部分的函数传值都不一样:C(内置数据类型):pass-by-valueObject-Oriented C++(对象类型):pass-by-reference-to-constTemplate C++(泛型):pass-by-reference-to-const

2016-08-18 20:52:04 683

原创 C/C++ 创建windows系统服务程序

Windows上面的程序可以分为前台运行和后台运行,像windows的系统服务都是属于后台程序。那如何将一个程序变成后台运行呢?可以在 cmd里面用sc命令来操作:Windows 服务的安装和卸载此次重点介绍如果用c++代码创建一个Windows服务程序。这里用到了2个创建服务的类,具体解释请看注释,代码如下:service_base.h#ifndef SERVICE_

2016-08-17 22:20:20 5452

转载 职场30岁:你必须要解决的三大难题

你所有不曾想过的问题,都会随着时间的推移而与你不期而遇;你所有曾经潇洒的随遇而安,同样也会随着时间流逝而让你承担那些命中注定的代价。 在这个世界上,“唯一不可阻挡的是时间,它像一把利刃,无声地切开了坚硬和柔软的一切,恒定地向前推进着,没有任何东西能够使它的行进产生丝毫颠簸,它却改变着一切。” 我始终相信一句话:出来混,迟早要还的。 虽然你我皆凡人,只是这芸芸众生中的普通一员

2016-08-17 14:52:50 3236

原创 windows 内核对象

以前老是分不清内核对象,用户对象。最近研究了一下这2个对象的使用,特别是内核对象的使用。在系统中,对象分两类:内核对象和用户对象。 内核对象:访问令牌对象,文件对象,文件映射对象,I/0完成端口对象,事件对象,互斥量对象,信号量对象,线程对象,进程对象,作业对象,邮件槽对象,管道对象,可等待计时器对象,线程池工厂对象,使用WinObj工具可以查看有哪些内核对象。用户对象:窗口,菜单

2016-08-16 18:47:19 1661

原创 time_t类型和SYSTEMTIME的转换

inline __time32_t systime_to_timet(const SYSTEMTIME& st){struct tm gm = {st.wSecond, st.wMinute, st.wHour, st.wDay, st.wMonth - 1, st.wYear - 1900, st.wDayOfWeek, 0, 0 };return _mkgmtime32

2016-08-16 14:51:57 936

原创 Windows socket编程头包含

#ifndef WIN32_LEAN_AND_MEAN#define WIN32_LEAN_AND_MEAN#endif#include #include #include #include #include #pragma comment(lib, "Ws2_32.lib")int main() {  return 0;}

2016-08-16 09:35:25 242

转载 SetSockOpt的使用

设置套接口的选项。int PASCAL FAR setsockopt( SOCKET s, int level, int optname,const char FAR* optval, int optlen);s:标识一个套接口的描述字。level:选项定义的层次;目前仅支持SOL_SOCKET和IPPROTO_TCP层次。optname:需设置的选项。optval:指

2016-08-16 09:01:17 1610

原创 windows socket编程总结

windows的网络编程接口没有像linux那么丰富,功能也要少很多,下面针对几个主要的接口做一下介绍:1.1. SOCKET WSAAPI socket(int af,int type,int protocol)//IPV4字符串和整形(为网络字节序)之间的转换unsigned long WSAAPI inet_addr(const char * cp);char

2016-08-15 18:34:23 573

转载 Windows 消息机制浅析

网址:http://www.cnblogs.com/skyofbitbit/p/3649104.htmlWindows 消息机制浅析1.       Windows 的历史中国人喜欢以史为鉴,而事实也确实是,如果你能知道一件事情的来龙去脉,往往可以更容易地理解事物为什么会表现为当前这样的现状。所以,我的介绍性开场白通常会以一段历史开始。不过,我不会以精确

2016-08-15 10:38:36 595

转载 windows消息机制

转自:http://www.cppblog.com/mzty/archive/2006/11/24/15619.htmlwindows消息机制windows消息机制原理windows资源管理(kernel,gdi,user)windows消息机制一 Windows中有一个系统消息队列,对于每一个正在执行的Windows应用程序,系统为其建立一个“

2016-08-15 10:37:03 419

转载 父进程 等待子进程初始化后才使用子进程_waitforinputidle

父进程 等待子进程初始化后才使用子进程_waitforinputidle在进程中创建子进程是很常见的话题。常规的方法是用CreateProcess(),这个函数功能强大,使用起来也很方便。不过CreateProcess()或其他函数,如ShellExecuteEx(),在创建子进程后,并不等待子进程初始化完毕,而是立即返回。通常你应该等子进程初始化完毕后再开

2016-08-15 10:17:59 1699

原创 RTMP协议总结

这两天研究了RTMP协议,在此对它做一个总结参考了比较有用的几篇博客,供大家参考:RTMP协议分析 一、RTMP包头RTMP协议分析 二、AMF数据RTMP 封包详解rtmp协议简单解析以及用其发送h264的flv文件RTMP规范简单分析RTMP流媒体播放过程rtmp 协议规范 中文版在RTMP协议的学习中会遇到几

2016-08-14 16:29:01 1698

转载 RTMP包头,包体

这篇文章写的比较好,介绍RTMP包头,包体:http://www.cnweblog.com/fly2700/archive/2008/04/09/281431.html

2016-08-14 14:44:19 612

转载 RTMP 封包详解

文章转载自:http://blog.sina.com.cn/s/blog_4c2bf01a0102v1wd.html本人从事视频编解码研发工作达10年之久,一直使用FFMPEG,directdraw,D3D,SDL进行视频软件开发。P2P设计及开发。希望有需要开发的联系我:电话:13764413903。QQ:1049568282。附:本人有流媒体服务器方案,各种文件格式相互转化方案

2016-08-13 20:14:33 4449

原创 人生的座右铭

做事:为做好一件事情,不要怕得罪人,包括自己的亲人和领导。做人:要有开阔的心胸,能原谅自己的亲人和朋友犯下的错误。目标:男人要把时间和精力放在做大事上面。

2016-08-13 16:55:37 444 1

原创 RTSP请求详解及RTP 基于UDP和TCP协议传输数据的对比

最近一段时间一直在研究rtsp和rtp,现在写博客总结一下,也是对知识的一种巩固吧。rtsp的协议的请求流程及格式请参考一下链接:http://blog.csdn.net/u010425035/article/details/10410851下面是我用VLC播放器获取海康NVR视频的截图(此次获取是基于TCP的):下面来看一下针对每一条消息的详细截图:客户端发送的OPTIO

2016-08-13 10:28:25 18335

转载 memmove 和 memcpy的区别

memmove 和 memcpy的区别 2012-09-12 22:22:40分类:原文地址:memmove 和 memcpy的区别 作者:memcpy和memmove()都是C语言中的库函数,在头文件string.h中,作用是拷贝一定长度的内存的内容,原型分别如下:void *memcpy(void *dst, const void *src, s

2016-08-12 10:59:14 331

原创 按给定格式解析(_snscanf和_stscanf_s)

::GetPrivateProfileString(TEXT("Settting"), szItemName, "H0xFF,0xFF,0xFF,0xFF", szDevHeadData, 32, szConfigPath);if (szDevHeadData[0] == 'H')  //按16进制方式配置包头{char szDataTmp[32] = { 0 };strc

2016-08-10 19:31:48 2750

原创 指针常量和常量指针

char * const cp     : 定义一个指向字符的指针常数,即const指针const char* p       : 定义一个指向字符常数的指针char const* p       : 等同于const char* p

2016-08-10 19:31:37 179

原创 _snprintf 使用出现的问题

char szTemp[1024]={0};_snprintf(szTemp,1024,"xiaoge");//_snprintf(szTemp,1024,"%s xiaoyafang ",szTemp);//xiaoge xiaoyafang_snprintf(szTemp,1024,"xiaoyafang %s ",szTemp);//xiaoyafang xiaoyafang

2016-08-10 19:31:11 1220

原创 _tsplitpath_s函数的使用

[译]_tsplitpath_s(分解路径)函数原型:errno_t _splitpath_s(    const char * path,    char * drive,    size_t driveNumberOfElements,    char * dir,    size_t dirNumberOfElements,    char * fna

2016-08-10 19:30:52 2667

原创 字符串处理一些函数的总结

_tcsrev 反转字符串_tcstok 按指定的分隔符截取字符串_tcschr 到字符串里面找到指定字符的位置_tcslen 计算字符串的长度_tprintf _vstprintf_s_countof 计算字符数_tcscat_s 附件字符串StringCchCopyNStringCbCopyNchar *pszTokenPtr = str

2016-08-10 19:30:39 553

原创 对几种队列的总结

队列1:描述:此队列为链表形式,由于为链表,所以没有设置最大值,可以无限往后增加,直到内存使用完typedef struct PacketList{byte *pkt;int pkt_size;PacketList *next;}PacketList;typedef struct PacketQueue {  PacketList *firs

2016-08-10 19:30:25 1428

原创 base64的编解码函数

#include//将0到64 转值成对应的字符const char *BASE64_CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";//3*8=4*6  将3个字节每6位拆分成4个字节,由于拆分后的每个字节只有6位,所以值为0到63,再将对应的值转成上面对应的字符就可

2016-08-10 19:29:03 3428

原创 UML 视频教程url

UML视频教程课程观看地址:http://www.xuetuwuyou.com/course/48课程出自学途无忧网:http://www.xuetuwuyou.com/以通俗易懂的方式,讲解UML在系统设计中的作用,UML的使用技巧,包括UML的元素,UML的四种关系和九种图的用法。课时1:什么是UML1105 课时2:UML中的常用元素课时3:UML依赖

2016-08-09 19:24:22 1115

转载 stl 的使用

http://blog.csdn.net/haifengzhilian/article/category/2189271/2

2016-08-09 15:48:08 193

原创 inet_addr使用要注意的地方

struct in_addr addr1,addr2;long l1,l2;l1= inet_addr("192.168.0.74");l2 = inet_addr("211.100.21.179");memcpy(&addr1, &l1, 4);memcpy(&addr2, &l2, 4);printf("%s : %s\n", inet_ntoa(addr1),

2016-08-09 15:45:50 4738

转载 setsockopts使用 ioctlsocket 设置非阻塞SOCKET函数

setsockopt ioctlsocket 设置非阻塞SOCKET函数1,ioctlsocket()#include  This function controls the I/O mode of a socket.int ioctlsocket(  SOCKET s,  long cmd,  u_long FAR* argp); 

2016-08-09 15:42:49 3994

原创 首部检验和计算

IP/ICMP/IGMP/TCP/UDP等协议的校验和算法都是相同的,算法如下:在发送数据时,为了计算IP数据包的校验和。应该按如下步骤:(1)把IP数据包的校验和字段置为0;(2)把首部看成以16位为单位的数字组成,依次进行二进制反码求和;(3)把得到的结果存入校验和字段中。在接收数据时,计算数据包的校验和相对简单,按如下步骤:(1)把首部看成以16位为单位的数字组成,依

2016-08-09 15:39:23 25063

原创 如何检查Socket是否断开

最近在做一个TCP采集程序,使用到C/S的结构。功能比较的简单,就是TCP采集程序作为服务器,信令采集设备作为客户端,客户端与服务器端之间建立长连接之后,开始发送信令报文给服务器。在服务器端使用多线程方式来处理每个客户端的socket连接,服务器端不主动断开链路,也没有心跳机制来维护连接的状态,客户端发送数据的时间也是不一定的,只要有采集到信令数据时才进行发送。在客户端socket断开后,服务器端

2016-08-09 15:37:54 6622

转载 string替换所有指定字符串

string替换所有指定字符串(C++)C++的string提供了replace方法来实现字符串的替换,但是对于将字符串中某个字符串全部替换这个功能,string并没有实现,我们今天来做的就是这件事。首先明白一个概念,即string替换所有字符串,将"12212"这个字符串的所有"12"都替换成"21",结果是什么?可以是22211,也可以是21221,有时候应用的场景不同,就会希

2016-08-09 15:30:08 8935

原创 split函数的使用

C# // string strDelimit = ";,";                string strChar="Provider=SQLOLEDB.1;server=192.168.1.241,database=IPVMS;uid=1;pwd=1;";          // char[] chDelimit=strDelimit.ToCharArray();   

2016-08-09 15:29:27 419

原创 根据对应的报错位置的地址找到对应的代码段

1.知道报错的偏移位置,就可以知道是哪里出的错。2.调试,到模块里面找到对应模块的偏移地址。加上报错的偏移地址。3.将这个位置设置到断点里面,双击断点可以跳到对应的位置。(可以到)

2016-08-09 15:18:52 1056

转载 UML几种关系图

http://blog.csdn.net/suxinpingtao51/article/details/8011335

2016-08-09 15:09:16 254

原创 动态库加载验证结论

前提概述:ADLL加载CDLL,BDLL加载CDLL。分为两种情况:1、ADLL和BDLL加载的CDLL同名但内容不同;2、ADLL和BDLL加载的CDLL同名且接口相同,但函数实现不同。根据这两种情况进行验证测试。验证过程:1、ADLL和对应的CDLL放在ADLL目录下;2、BDLL和对应的CDLL放在BDLL目录下;3、TestDLLApp动态加载ADLL目录下的ADLL;

2016-08-09 14:34:15 813

windows管道通信

windows进程间通信的管道通信技术,调用简单,使用方便。 服务端: 1.使用API函数CreateFile建立与命名管道的连接。 2.使用API函数WriteFile和ReadFile分别向客户端发送数据或从客户端接收数据。 3.使用API函数CloseHandle关闭打开的命名管道会话。 客户端: 1.使用API函数WaitNamedPipe等待一个命名管道实例供自已使用。 2.使用API函数CreateFile建立与命名管道的连接。 3.使用API函数WriteFile和ReadFile分别向服务器端发送数据或从服务器端接收数据。 4.使用API函数CloseHandle关闭打开的命名管道会话。

2020-08-13

dll注入和API拦截测试代码.rar

1.被注入的程序为:10 Camera 2.主动注入的程序为:inject 3.注入的dll为:hookDll 4.注入的dll截取的窗口图像在文件夹:“拦截图像” 描述:程序inject负责将hookDll动态库注入到10 Camera进程,然后hookDll会拦截Present函数调用。(拦截API使用Detours-4.0.1库文件,动态库注入使用CreateRemoteThread函数)

2020-08-11

Debug Diagnostic Tools生成内存分析文件

Debug Diagnostic Tools生成内存分析文件

2017-08-02

gRPC使用demo(只测试Release版本)

gRPC使用demo(只测试Release版本)

2017-08-02

创建Windows系统服务demo2(c++版)

如何用c/c++ 创建windows系统服务。

2017-01-22

windows服务安装与卸载(命令和截图)

windows命令行下服务安装与卸载

2016-08-17

创建windows服务程序的demo

创建windows系统服务的demo

2016-08-17

RTSP请求客户端

rtsp客户端的c++实现,实现了RTP基于TCP和UDP传输数据,里面有bug的地方希望大家指正。

2016-08-13

c++实现反射demo

用c++实现了反射

2016-08-09

对几种队列的总结

里面有几种队列的源代码

2016-08-09

Windows下面的UDP和TCP通信demo

Windows下面的UDP和TCP通信demo

2016-08-09

系统服务程序

系统服务程序

2016-08-09

IEventHandler

事件注册代码

2016-08-09

CMarkeup类

CMarkeup 解析XML

2016-08-09

log4z的使用

log4z

2016-08-09

ConnectManager

ConnectManager

2016-08-09

CMarkUp_使用简介

CMarkUp_使用简介

2016-08-09

ice 的样例文件

ice 的样例文件

2016-08-09

ICE 的安装及在vs2013里面的配置

ICE 的安装及在vs2013里面的配置

2016-08-09

ICE 的聊天demo 含有ICE的配置文档

ICE 的聊天demo,里面含ICE的安装和到vs2013里面的配置

2016-08-09

NVIDIA FX Composer工具安装包

NVIDIA FX Composer工具安装包

2023-07-18

使用NVIDIA FX Composer工具验证多张纹理合成效果

这是一个NVIDIA FX Composer工具的完整工程,里面验证了4张带有透明通道的纹理(一张底图,中间是一张淡入,一张淡出图,最上面是一张前景图,每张纹理都带有一个全局透明度)的合成效果,可以通过参数修改控制透明度的值来查看合成纹理的实时变化效果。

2023-07-18

NVIDIA FX Composer工具的使用说明书

如果想知道NVIDIA FX Composer工具如何使用请下载此文档

2023-07-18

显示器带宽计算.zip

里面包含CVTR2参数计算、CVTR2行业规范、显示接口相容表3个文档,前面的文档可以通过输入显示器分辨率计算需要的带宽,后面的文档有描述不同分辨率的显示器对应的线材要求

2021-09-01

颜色和HDR知识总结.pptx

大概介绍了1.颜色的由来 2.CIE XYZ颜色空间的由来 3.色域马蹄图的由来 4.常用的色域空间 5.显示器为什么会偏色 6.视频图像质量的5要素 7.什么是HDR? HDR的几种标准

2021-06-24

FullScreenMultiWnd.rar

d3d9多屏幕创建全屏程序

2021-01-19

压缩纹理通过d3d9和cuda进显存速度对比3 (测试100次平均值)

压缩纹理通过d3d9和cuda进显存速度对比,此demo测试了压缩纹理通过d3d9进显存,同样数据大小通过cuda进显存,和通过cuda从显存拷贝到内存的速度。

2020-12-16

压缩纹理通过d3d9和cuda进显存速度对比2

压缩纹理通过d3d9和cuda进显存速度对比,此demo测试了压缩纹理通过d3d9进显存,同样数据大小通过cuda进显存,和通过cuda从显存拷贝到内存的速度。

2020-12-04

压缩纹理通过d3d9和cuda进显存速度对比

压缩纹理通过d3d9和cuda进显存速度对比,此demo测试了压缩纹理通过d3d9进显存,同样数据大小通过cuda进显存,和通过cuda从显存拷贝到内存的速度。

2020-07-25

vld内存泄露检测工具

VLD是一款用于VisualC++的免费内存泄漏检查工具。可以在codeproject.com网站上找到,相比其它的内存泄漏哦给你根据,他在检查内存泄漏的同事,还具有如下特点: 1) 可以得到内存泄漏点的调用堆栈,如果可以的话,还可以得到其所在的文件及行号; 2) 可以得到泄漏内存的完整数据; 3) 恶意设置内存泄漏报告的级别; 4) 它以动态库的形式提供,无需编译源代码,只需要很小的改动程序; 5) 源代码使用GNU许可发布,并有详细的文档及其注释。

2018-11-02

COM组件例子程序

COM组件,里面有4个工程,DictCtrl为客户程序工程,Dictionary为进程外组件工程,Dictionary2为进程内组件工程,DictPrxy为代理/存根dll工程。

2018-10-24

网络唤醒开机

  远程开机这个功能实在屌爆了,工作中会经常遇到需要远程开机的情景,比如说,晚上在家里,突然接到领导的电话需要改东西,然而家里的电脑又没有工作环境,各种工具软件都没有安装,这时如果往公司跑一趟真是麻烦,或者需求等不及你往公司跑一趟,也许这途中公司会损失更多。或者,晚上在家里工作了,第二天忘记把资料带回公司,这时远程开机也显得尤为重要。总之,如果你有远程办公的需求,就会用到远程开机。

2018-10-15

MPC-HC播放器源代码

MPC-HC播放器一个经典的影音播放器,可播放CD、VCD、DVD、及MP3、MP4、AVI、AAC等多种影音格式。与此同时,它还是开源的。很多知名的视频播放器都是在它的基础上建立起来的,在这里就不例举了。

2018-08-30

COM组件用例和测试代码V2

编写了一个完整的COM组件,非常适合初学者学习使用,里面有3个工程,第一个工程产生的COM组件被第二个工程产生的COM组件聚合,第三个公司为测试工程,目的是测试前面2个工程生成的COM组件的使用。

2018-06-25

COM组件用例和测试代码

编写了一个完整的COM组件,非常适合初学者学习使用,里面有2个工程,一个是COM组件,一个是测试代码。

2018-06-23

gRPC测试demo

此demo通过海康网络库或者摄像机数据,然后通过gRPC将数据传输到解码进程解码。

2017-08-04

Debugdiag内存分析文件

Debugdiag内存分析文件

2017-08-02

CMake工具(用来创建window解决方案)

CMake工具(用来创建window解决方案)

2017-08-01

git工具(从GitHub获取源代码)

可以从github获取源代码

2017-08-01

空空如也

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

TA关注的人

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