自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

king_weng的博客

当才华配不上野心时,就静下心来学习吧!

  • 博客(165)
  • 资源 (19)
  • 收藏
  • 关注

原创 跨域资源共享CORS

1、背景 在前后端分离的开发模式中,数据的获取并非同源,所有就出现了跨域的问题。什么时候产生跨域呢?广义的跨域是值浏览器为了一定的安全因素,增加了同源策略。有违同源策略的操作都是被禁止的,这个时候就会发生我们所说的跨域。如果有没有同源策略,则会发送请求发出去了,数据没回来。狭义的跨域是指ajax请求无法完成。2、简介 CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。允许浏览器向跨源服务器,发出XMLHt...

2021-04-07 16:40:10 9

原创 http解析库http-parser

一、http-parser简介1、简介 http-parser是一个用C编写的HTTP消息解析器,可以解析请求和响应,被设计用于高性能HTTP应用程序。它不会进行任何系统调用及内存分配,它不会缓冲数据,它可以被随时中断。根据你的体系结构,每个消息流只需要大约40个字节的数据(在每个连接的web服务器中。2、特征不依赖第三方库 处理持续流 分块解码 支持Upgrade 防止缓冲区溢出攻击3、可以从HTTP消息中解析下列信息报头域及值(Header fields and...

2021-04-07 16:29:13 22

原创 C++11之lambda回调设置与应用

在程序中有时候我们需要实现回调效果,比如先设置监听,然后在后面具体执行完某个操作后再将该操作的结果通知给前面监听中。这种机制实际很常用,比如window底下的消息机制,Qt中的信号槽的机制都有类似的效果。但是在C++中并没有类似机制,那么我们应如何实现呢? 实际上在C++中我们可以使用模板、函数指针、抽象类、和lambda就可实现回调的效果,本文重点讲解如何使用lambda和function在同步线程中实现回调的效果。关于lambda介绍可参我前面的博客:https://blo...

2021-03-22 14:53:49 27

转载 开源流媒体SRS

一、SRS简介1、SRS简介 SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。SRS提供了丰富的接入方案将RTMP流接入SRS, 包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。 SRS还支持将接入的RTMP流进行各种变换,譬如将RTMP流转码、流截图、 转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、 转封装成HDS、转封装成DASH、录制成FLV/MP4。SRS包含支大规模集群如CDN业务的关键特性, 譬...

2021-03-22 14:48:00 34

原创 实时通信之RTC

1、RTC简介 RTC(Real-time Communications),实时通信。泛指各种数据的实时传输,包括音频,视频,文本,图片等媒体和非媒体数据的实时传输。2、RTC 和 WebRTC 的区别 实时通信(RTC)最容易和 WebRTC 混淆,实际上,二者并不相等。一次RTC通信的简要流程如下图所示: RTC 从功能流程上来说,包含采集、编码、前后处理、传输、解码、缓冲、渲染等很多环节,上图展现了一次 RTC 通信的简要流程。每一个细分环...

2021-03-19 10:15:10 29

原创 音频格式之AAC(高级音频编码技术)

1、简介 ACC(Advanced Audio Coding,高级音频编码)是杜比实验室为音乐社区提供的技术。,出现于1997年,基于MPEG-2的音频编码技术。2000年,MPEG-4标准出现后,AAC重新集成了其特性,加入了SBR技术和PS技术,为了区别于传统的MPEG-2 AAC又称为MPEG-4 AAC。 AAC号称「最大能容纳48通道的音轨,采样率达96 KHz,并且在320Kbps的数据速率下能为5.1声道音乐节目提供相当于ITU-R广播的品质」。和MP3比起来,...

2021-03-15 16:45:49 120

原创 视频传输协议之MPEG-DASH

1、简介 DASH的全称是Dynamic Adaptive Streaming over HTTP。DASH是一种新的视频传输协议,由微软、苹果、Adobe等公司共同主导完成,该标准于2012年制定完成,是一种自适应码率的流媒体技术,其主要特点是视频切片和基于HTTP传输,可以利用现有的HTTP网络架构(专门的服务器和CDN等)传输流媒体。 MPEG-DASH(HTTP上的动态自适应流传输,ISO / IEC 23009-1)是由MPEG和ISO批准的独立于供应商的国际标准,...

2021-03-12 16:06:56 71

原创 RTMP协议之AMF数据

一、RTMP组成1、RTMP包头 RTMP协议封包 由一个包头和一个包体组成,包头可以是4种长度的任意一种:12, 8, 4, 1 byte(s)。完整的RTMP包头应该是12bytes,包含了时间戳,Head_Type,AMFSize,AMFType,StreamID信息,,8字节的包头只纪录了时间戳,Head_Type,AMFSize,AMFType,,4个字节的包头记录了时间戳,Head_Type。1个字节的包头只记录了Head_Type 。包体最大长度默认为128字节,通过ch...

2021-03-12 16:04:04 27

原创 视频编码之GOP

1、简介 GOP(Group of Pictures)策略影响编码质量,所谓GOP,意思是画面组,一个GOP就是一组连续的画面。GOP是序列中的一个图片集,用来辅助随机存取。GOP的第一个图像必须为I帧,这样就能保证GOP不需要参考其他图像,可以独立解码。2、MPEG MPEG编码将画面(即帧)分为I、P、B三种,I是内部编码帧,P是前向预测帧,B是双向内插帧。简单地讲,I帧是关键帧,可以理解为一个完整的画面,而P帧和B帧记录的是相对于I帧的变化,P帧表示跟前一帧的...

2021-03-11 09:36:26 30

原创 Java之maven中pom.xml字段详解

<modules>:子模块项目<properties>:属性,包括系统属性、自定义属性<dependencies>:依赖 <groupId>,<artifactId>, <version>:描述了依赖的项目唯一标志。 <groupId> :创建项目的组织或团体的唯一 Id。 <artifactId>:项目唯一id,可视为项目名。 <version...

2021-03-11 09:32:14 13

原创 国标GB28181入门

1、GB/T28181-2016由来 在GB28181协议处理之前,各个摄像头厂商都有各自的标准不能形成统一。因此公安部科技信息化局提出,由全国安全防范报警系统标准化技术委员会(SAC/TC100)归口,公安部一所等多家单位共同起草了一部国家标准,《公共安全视频监控联网系统信息传输、交换、控制技术要求》。 该标准规定了公共安全视频监控联网系统(以下简称联网系统)的互联结构,传输、交换,控制的基本要求和安全性要求,以及控制﹑传输流程和协议接口等技术要求。2、术语(...

2021-03-10 15:12:53 162

原创 SIP一般用户代理行为

一、UAC(用户代理客户端)特性1、产生一个请求 一个合法的 SIP 请求必须至少包含如下头域:TO, FROM, Cseq, Call-ID, MaxForwards, Via;这些字段在所有 SIP 请求中必须包含。这 6 个字段是 SIP 消息的基本组成部分,他们提供了用于路由用的核心信息,包含了消息的地址,响应的路由,消息传递次数,详细的顺序,事务的唯一标志。这些头域字段是必须包含在请求行之后的,请求行包含了请求的方法,RequestURI,SIP 的版本号码。(1)Requ...

2021-03-09 11:20:51 31

原创 SIP协议消息

1、SIP消息 SIP 协议是一个基于文本的协议,使用 UTF-8 字符集(RFC2279[7])。一个 SIP 消息既可以是一个从客户端到服务器端的请求,也可以是一个从服务器端到客户端的一个应答。 消息类型都由一个起始行,一个或者多个包头域,一个可选的消息中文组成。 起始行、每一个包头行,空行、都必须由回车换行组成(CRLF)。即使消息正文没有,也必须有一个空行跟随。2、请求 SIP 请求是根据起始行中的 Request-Lin...

2021-03-09 11:14:32 13

原创 SIP(会话发起协议)

1、简介 SIP(Session Initiation Protocol,会话初始协议)是由IETF(Internet Engineering Task Force,因特网工程任务组)制定的多媒体通信协议。它是一个应用层的信令控制协议。用于创建、修改和释放一个或多个参与者的会话。这些会话可以是Internet多媒体会议、IP电话或多媒体分发。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。 SIP与负责语音质量的资源预留协议(...

2021-03-09 11:09:25 70

原创 utest测试框架

一、utest测试框架简介1、简介 utest(unit test)是 RT-Thread 开发的单元测试框架。设计 utest 的初衷是方便 RT-Thread 开发者使用统一的框架接口编写测试程序,实现单元测试、覆盖测试以及集成测试的目的。2、utest 应用框图 如上图所示,测试用例基于测试框架 utest 测试框架提供的服务接口进行程序设计,支持将多个测试用例编译到一起进行测试。另外从图中可以看到,一个测试用例对应唯一的 testcase 函数,在 tes...

2021-03-09 10:58:54 11

原创 跨平台C++单元测试框架——GTest

1、简介 GTest是google公司发布的一个跨平台的(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)C++单元测试框架。它提供了丰富的断言、致命和非致命判断、参数化、死亡测试等等。 使用gtest时,就是编写断言(assertions),断言语句会检测条件是否为真。一个断言可存在三种结果:success(成功),nonfatal failure(非致命失败),或 fatal failure(致命失败)。当出现致命...

2021-03-02 17:12:02 28

原创 Onvif协议之服务端开发基本流程

1、onvif开发流程发现设备 ==》 获取能力 ==》 获取媒体信息 ==》 获取视频编码配置 ==》 设置视频编码配置 ==》 获取URI ==》 ONVIF完成 ==》 RTSP播放 ==》 解码2、原理 Onvif协议要求实现Onvif协议服务的设备支持设备发现以及探测,也就是discovery和probe。如,客户端向网段内的组播地址为239.255.255.250,端口为3702发送广播消息,等待网内Onvif协议设备响应。响应消息的设备会返回自己的IP、UUI...

2021-02-09 17:21:01 116

原创 Onvif之代码框架生成

wsdl自动生成源代码可分为本地配置和在线配置。1、利用wsdl2h工具生成onvif.h文件 利用wsdl2h工具生成ovnif.h文件的过程如下图所示: 查看gsoap目录下的typemap.dat文件: 搭建ONVIF客户端代码框架,按照ONVIF Profile S标准需要支持下面所示的基本服务:功能模块 Wsdl文件地址 设备发现 https://www.onvif.org/ver10/n...

2021-02-09 17:16:44 44

原创 Onvif协议之gSOAP工具

1、简介 gSOAP的编译器能够自动的将用户定义的本地化的C或C++数据类型转变为符合XML语法的数据结构,反之亦然。这样,只用一组简单的API就将用户从SOAP细节实现工作中解脱了出来,可以专注与应用程序逻辑的实现工作了。gSOAP编译器可以集成C/C++和Fortran代码(通过一个Fortran到C的接口),嵌入式系统,其他SOAP程序提供的实时软件的资源和信息;可以跨越多个操作系统,语言环境以及在防火墙后的不同组织。gSOAP一种跨平台的C和 C++软件开发工具包。生成C/C++...

2021-02-09 16:55:28 53

原创 ONVIF Conformance Test测试工具的使用

1、摄像头设置 一般摄像头中默认是没有开启onvif功能,需要我们配置并添加用户。配置==》网络==》高级配置==》集成协议==》勾选开启ONVIF 添加onvif用户,角色包括视频用户、操作员和管理员,后续用到的账号和密码即为此账号和密码。2、搜索并配置设备 配置完后就可用ONVIF Conformance Test测试工具来搜索设备。NIC选择可IPC同网段的网卡==》点击Discover Devices,搜索设备==》在搜索出的...

2021-02-08 17:05:03 36

原创 AMF(Action Message Format)简介

1、AMF简介(1)简介 AMF(Action Message Format),即操作消息格式,基于http方式传输,是一种二进制的数据格式。主要用于数据交互和远程过程调用。它的设计是为了把actionscript里面的数据(包括Object, Array, Boolean, Number等)序列化成二进制数据,然后把这段数据随意发送给其他接收方程序,比如发给远程的服务器,在远程服务器那边,可以把这段数据给还原出来,以此达到一个数据传输的作用。(2)AMF0和AMF3的历史...

2021-02-04 11:37:38 42

原创 纤程

1、定义 纤程是 fiber , 是由操作系统实现的一种轻量化线程上的一个执行结构。 通常是多个fiber共享一个固定的线程, 然后他们通过互相主动切换到其他fiber来交出线程的执行权.。各个子任务之间的关系非常强。 在Windows2000/XP中,纤程(fiber)相当于用户级别的线程或轻进程.纤程由Win32库函数支持,对核心是不可见的.纤程可以通过SwitchToFiber切换至另一合作纤程,以实现合作纤程之间的协同。2、优缺点(1)优点消耗小,切...

2021-01-29 16:08:22 26

原创 C++中协程——State Threads

一、协程简介1、简介 协程(coroutine)不是进程或线程,其执行过程更类似于子例程,或者说不带返回值的函数调用。一个程序可以包含多个协程,可以对比与一个进程包含多个线程。我们知道多个线程相对独立,有自己的上下文,切换受系统控制。而协程也相对独立,有自己的上下文,但是其切换由自己控制,当前协程切换到其他协程由当前协程来控制。 协程调度单位减小到函数,上下文切换不需要内核参与,不存在系统调用。上下文切换开销降到最低,系统调用降到最低,没有锁竞争,没有信号处理。保留了程序...

2021-01-26 17:18:23 84 1

转载 C++中虚继承

一、虚继承和虚基类1、多继承产生的冲突 在C++中多继承时很容易产生命名冲突,即使我们很小心地将所有类中的成员变量和成员函数都命名为不同的名字,命名冲突依然有可能发生,比如典型的是菱形继承,如下图所示: 类 A 派生出类 B 和类 C,类 D 继承自类 B 和类 C,这个时候类 A 中的成员变量和成员函数继承到类 D 中变成了两份,一份来自 A-->B-->D 这条路径,另一份来自 A-->C-->D 这条路径。 在一个派生类中...

2021-01-06 09:25:14 45

原创 Linux中inotify详解及实例

1、inotify简介 用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,包括了hotplug、udev 和 inotify。Hotplug 是一种内核向用户态应用通报关于热插拔设备一些事件发生的机制,桌面系统能够利用它对设备进行有效的管理,udev 动态地维护 /dev 下的设备文件, Inotify 是一个 Linux特性,它监控文件系统操作,比如读取、写入和创建,以及卸载等操作,还可以跟踪活动的源头和目标等细节。即文件系统变化通知...

2021-01-05 17:21:00 97

原创 Visual Studio2017开发linux程序之管理已有makefile工程

后端的很多程序都是运行在linux上面,因此对于许多用C++编写的后端程序其编译和运行基本都是在linux平台上面的,而对于编写程序来说直接在linux不是很方便,通常都需要借助ide在windows平台上来进行编写和调试。对于在windows上编写和调试程序,而在linux上面编译和运行,在visual studio通常可将项目构造成cmake项目,然后通过配置远程linux平台可实现远程调试。 远程调试可参考:https://blog.csdn.net/King_weng/...

2020-12-04 16:39:46 182

原创 windows10家庭版和Ubuntu18.04使用Samba共享文件

一、在Ubuntu上安装Samba1、更新apt包索引:sudo apt update2、安装Samba软件包:sudo apt install samba3、安装完成后,Samba服务将自动启动。 要检查Samba服务器是否正在运行,请键入:sudo systemctl status nmbd//或者service smbd status输出应如下所示,表示Samba服务处于活动状态并正在运行:二、创建共享的文件位置和创建用户1、创建要共享的文件位.

2020-12-04 16:32:34 98

原创 Onvif协议快速入门

1、简介 ONVIF最初的名称来自Open Network Video Interface Forum(开放网络视频接口论坛)的首字母缩写。由于标准的范围扩展到视频应用程序之外,因此删除了(开放网络视频接口论坛)的名称。ONVIF网络视频协议的出现,解决了不同厂商之间开发的各类设备不能融合使用的难题,提供了统一的网络视频开发标准,即最终能够通过ONVIF这个标准化的平台实现不同产品之间的集成。 ONVIF主要为网络视频产品提供标准化网络开放式接口。ONVIF利用IT技术,例如...

2020-11-19 17:08:32 902

原创 Hadoop安装配置与三种启动模式详解

1、Hadoop简介 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data ...

2020-11-09 16:10:22 72

原创 Redis快速入门

一、Redis基础1、Redis简介 Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。特点:Redis支持数据的持久化,可以将内存中的数...

2020-10-24 23:18:43 27 1

原创 gdb调试之快速入门

一、gdb调试1、gdb调试的三种方式目标板直接使用GDB进行调试。 目标板使用gdbserver,主机使用xxx-linux-gdb作为客户端。 目标板使用ulimit -c unlimited,生成core文件;然后主机使用xxx-linux-gdb ./test ./core。例子:(1)main.cpp#include "sum.h"using namespace std;int main(int argc, char *argv[]){ if(a

2020-10-14 17:22:22 58

原创 FFmpeg快速入门

一、FFMpeg1、FFMPEG简介(1)MPEG FFMPEG 全称Fast Forward MPEG,MPEG系列标准是由ISO/IEC制定的,主要应用于视频存储(DVD)、广播电视、因特网或无线网上的流媒体。ITU-T与ISO/IEC是制定视频编码标准的两大组织,ITU-T的标准包括H.261、H.263、H.264,两个组织也共同制定了一些标准,H.262标准等同于MPEG-2的视频编码标准,而最常用的H.264标准则被纳入MPEG-4的第10部分也叫AVC编码。(2)F...

2020-09-18 16:35:23 202

原创 Mp4文件格式解析

1、简介 MP4(或称MPEG-4 Part 14)是一套用于音频、视频信息的压缩编码标准,由国际标准化组织(ISO)和国际电工委员会(IEC)下属的“动态图像专家组”(Moving Picture Experts Group,即MPEG)制定 MP4文件封装格式,对应的标准为ISO/IEC 14496-12,即信息技术 视听对象编码的第12部分:ISO 基本媒体文件格式(Information technology Coding of audio-visual object...

2020-09-04 16:55:35 516 1

原创 HLS协议

1、简介 HLS (HTTP Live Streaming)是Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件。HLS 协议编码格式要求视频的编码格式:H264 音频的编码格式:AAC、MP3、AC-3 视频的封装格式:ts 保存 ts 索引的 m3u8 文件HLS 协议优势HLS 相对于 RTMP 来讲使用了标准的 HTTP 协议来传输数据,可以避免在一些特殊的网络环境下被屏蔽。...

2020-09-01 11:22:34 106

原创 WebSocket协议

1、简介 WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。协议标识符是ws(如果加密,则为wss),服务器网址就是 URL。2、背景 很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发...

2020-08-27 17:15:50 83

原创 H.264中SPS、PPS和IDR

1、简介 H.264码流第一个 NALU是 SPS(序列参数集Sequence Parameter Set),对应H264标准文档 7.3.2.1 序列参数集的语法进行解析。 H.264码流第二个 NALU是 PPS(图像参数集Picture Parameter Set),对应H264标准文档 7.3.2.2 序列参数集的语法进行解析。 H.264码流第三个 NALU 是 IDR(即时解码器刷新),对应H264标准文档 7.3.3 序列参数集的语法进行解析。...

2020-08-27 16:55:49 129

原创 RTMP协议详解及实例分析

1、简介 RTMP协议是Real Time Message Protocol(实时信息传输协议)的缩写,它是由Adobe公司提出的一种应用层的协议,用来解决多媒体数据传输流的多路复用(Multiplexing)和分包(packetizing)的问题。实现通常对不同类型的消息分配不同的优先级,当运载能力有限时,这会影响等待流传输的消息的次序。 RTMP协议是应用层协议,是要靠底层可靠的传输层协议(通常是TCP)来保证信息传输的可靠性的。在基于传输层协议的链接建立完成后,RTMP...

2020-08-17 17:19:54 1031

原创 RTSP协议详解及实例分析

1、RTSP简介 RTSP(Real-Time Stream Protocol)协议是一个基于文本的多媒体播放控制协议,属于应用层。RTSP以客户端方式工作,对流媒体提供播放、暂停、后退、前进等操作。该标准由IETF指定,对应的协议是RFC2326。 RTSP作为一个应用层协议,提供了一个可供扩展的框架,使得流媒体的受控和点播变得可能,它主要用来控制具有实时特性的数据的发送,但其本身并不用于传送流媒体数据,而必须依赖下层传输协议(如RTP/RTCP)所提供的服务来完成流媒体数...

2020-07-29 16:43:12 666

原创 流媒体之SDP

1、SDP简介 SDP(Session Description Protocol),会话描述协议。是描述流媒体初始化参数的格式,由IETF作为RFC 4566颁布。主要用于两个会话实体之间的媒体协商。 什么叫会话呢,比如一次网络电话、一次电话会议、一次视频聊天,这些都可以称之为一次会话。那为什么要去发这个描述文本呢,主要是为了解决参与会话的各成员之间能力不对等的问题,如果参加本次通话的成员都支持高质量的通话,但是我们没有去进行协议,为了兼容性,使用的都是普通质量的通话格式...

2020-07-29 16:32:09 163

原创 RTP和RTCP

一、RTP1、RTP简介 实时传输协议(Real-time Transport Protocol或简写RTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的。RTP协议常用于流媒体系统(配合RTSP协议),视频会议和一键通(Push to Talk)系统(配合H.323或SIP),使它成为IP电话产业的技术基础。RTP协议和RTP控制协议(RTCP)一起使用,而且它是创建在UDP协议上的。2、特征 RTP 本身并没有提供按时...

2020-07-29 16:28:24 186

2019年上半年软件设计师考试上午+下午真题(专业解析+参考答案).rar

2019年上半年软件设计师考试上午+下午真题(专业解析+参考答案)。

2019-11-10

MFC Windows程序设计(第2版)修订版+源代码

作者: (美)Jeff Prosise 出版社: 清华大学出版社 原作名: Programming Windows with MFC, 2nd Edition 《MFC Windows程序设计》(第2版)(修订版)不仅扩展了已被认为是权威的关于Microsoft用于Windows API的功能强大的C++类库的阐述,还新增了有关COM、OLE和ActiveX的内容。《MFC Windows程序设计》(第2版)(修订版)的作者,Jeff Prosise,用其无与伦比的技巧向读者讲述了MFC程序设计中的基本概念和主要技术再次阐释了在32位Windows平台上进行了快速的面向对象开发的完美方法。《MFC Windows程序设计》(第2版)(修订版)涵盖了以下专题:事件驱动程序设计和MPC的基础知识文档/视图体系结构位图、调色板和区域多线程和线程同步MFC与组件对象模型(COM)ActiveX控件

2019-03-31

Kinect2.0API

Kinect2.0 API文档。 在开发的时候要注意Kinect1.0和Kinect2.0的SDK是不一样的,Kinect1.0的SDK不能驱动Kinect2.0的机器,同时Kinect1.0的API和Kinect2.0的API也有较大的不同,注意区别。

2019-04-22

官方Kinect10.dll

Kinect用到的官方Kinect10.dll 放置路径C:\Windows\System32; 异常:已引发: "无法加载 DLL“Kinect10.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。" (System.DllNotFoundException) 引发了一个 System.DllNotFoundException: "无法加载 DLL“Kinect10.dll”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。"

2019-04-21

VC++深入详解源代码.孙鑫

《VC++深入详解》.孙鑫配套源代码。 《VC++深入详解》主要从程序内部运行的机制和MFC程序的组织脉络入手,使读者在学习VC++编程知识时,既能够知其然,又能知其所以然,从而帮助读者从根本上理解和掌握Windows的程序设计。另外,《VC++深入详解》还贯穿作者多年来学习编程的一些经验,以及一些学习方法的建议,为读者进一步的学习提供指导。   《VC++深入详解》从实际应用入手,由浅入深、循序渐进地讲述Windows程序内部运行机制、MFC框架、文本、菜单、对话框、文件操作、网络编程、进程间通信、ActiveX控件、动态链接库、HOOK编程等多个主题。   《VC++深入详解》内容丰富、实用性强,许多代码可以直接应用到工程项目中。书中的配套光盘还免费提供近乎45小时的VC++教学视频,读者在学习的过程中可以将视频和书互为参考,配合学习,这样可以更快、更好地掌握VC++编程。   《VC++深入详解》适合于VC++6.0的初学者和使用VC++从事开发的程序员,对于具有一定VC++编程经验的读者,也具有很好的参考价值。

2019-03-23

Win32多线程程序设计.侯捷.超清完美版+配套代码

本资源包含Win32多线程程序设计.侯捷.超清完美版+配套代码。其中文档为超清含书签的真正PDF文档(并非影印版),文档中的文字可直接复制。同时包含原书自带光盘源代码。 第一篇 上路吧,线程 第1章 为什么要“千头万绪” 一条曲折的路 与线程共枕 为什么最终用户也需要多线程 Win32基础 Context Switching Race Conditions(竞争条件) Atomic Operations(原子操作) 线程之间如何通讯 好消息与坏消息 第2章 线程的第一次接触 产生一个线程 使用多个线程的结果 核心对象(Kernel Objects) 线程结束代码(Exit Code) 结束一个线程 错误处理 后台打印(Background Printing) 成功的秘诀 第3章 快跑与等待 看似闲暇却忙碌(Busy Waiting) 性能监视器(Performance Monitor) 等待一个线程的结束 叮咚:被激发的对象(Signaled Objects) 等待多个对象 在一个GUI程序中等待 提要 第4章 同步控制(Synchronization) Critical Sections(关键区域、临界区域) 死锁(Deadlock) 哲学家进餐问题(The Dining Philosophers) 互斥器(Mutexes) 信号量(Semaphores) 事件(Event Objects) 从Worker线程中显示输出 Interlocked Variables 同步机制摘要 第5章 不要让线程成为脱缰野马 干净地终止一个线程 线程优先权(Thread Priority) 初始化一个线程 提要 第6章 Overlapped I/O,在你身后变戏法 Win32文件操作函数 被激发的File Handles 被激发的Event对象 异步过程调用(Asynchronous Procedure Calls,APCs) 对文件进行(Overlapped I/O的缺点 I/O Completion Ports 对Sockets使用Overlapped I/O 提要 第二篇 多线程程序设计的工具与手法 第7章 数据一致性(Data Consistency) 认识Volatile关键字 Referential Integrity The Readers/Writers Lock 我需要锁定吗? Lock Granularity(锁定粒度) 提要 第8章 使用C Run-Time Library 什么是C Runtime Library多线程版本 选择一个多线程版本的C Runtime Library 以C Runtime Library启动线程 哪一个好:CreateThread()抑或_beginthreadex()? 避免stdio.h 一个安全的多线程程序 结束进程(Process) 为什么你应该避免_beginthread() 提要 第9章 使用C++ 处理有问题的_beginthreadex()函数原型 以一个C++对象启动一个线程 建立比较安全的Critical Sections 建立比较安全的Locks 建立可互换(Interchangeable)的Lockks 异常情况(Exceptions)的处理 提要 第10章 MFC中的线程 在MFC中启动一个Worker线程 安全地使用AfxBeginThread()的传回值 在MFC中启动一个UI线程 与MFC对象共处 MFC的同步控制 MFC对于MsgWaitForMultipleObjects()的支持 提要 第11章 GDI与窗口管理 线程的消息队列 消息如何周游列国 GUI效率问题 以Worker线程完成多线程版MDI程序 多个上层窗口(Top Level Windows)如何是好? 线程之间的通讯 NT的影子线程(shadow Thread) 关于"Cancel"对话框 锁住GDI对象 提要 第12章 调试 使用Windows NT 有计划地对付错误 Bench Testing 线程对话框 运转记录(Logging) 内存记号(Memory Trails) 硬件调试寄存器(Hardware Debug Registers) 科学方法 提要 第13章 进程之间的通讯(Interprocess Communication) 以消息队列权充数据转运中心 使用共享内存(Shared Memory) 使用指针指向共享内存(Shared Memory) 较高层次的进程通讯(IPC) 提要 第14章 建造DLLs DLL的通告消息(Notifications) 通告消息(Notifications)的问题 DLL进入点的依序执行(Serialization)特性 MFC中的DLL通告消息(Notifications) 喂食给Worker线程 线程局部存储(Thread Local Storage,TLS) _declspec(thread) 数据一致性 提要 第三篇 真实世界中的多线程应用程序 第15章 规划一个应用程序 多线程的理由 要线程还是要进程? 多线程程序的架构 评估既有程序代码的适用性 对ODBC做规划 第三方的函数库(Third-Party Libraries) 提要 第16章 ISAPI Web服务器及其工作原理 ISAPI IS2ODBC范例程序 提要 第17章 OLE,ActiveX,COM COM的线程模型(COM Threading Models) AUTOINCR范例程序 提要 附录A MTVERIFY宏 附录B 更多的信息

2019-03-22

npp.7.8.4.Installer.exe

Notepad ++是一个用于编写文本的免费开源应用程序。 Notepad ++是一个功能强大的编辑器,非常适合编程和普通文本。 Notepad ++与标签一起使用 ,因此可以很容易地同时打开多个文件。因此,比较文本非常容易,每行都有编号。通过按住CTRL和用于放大的鼠标滚轮,可以增加Notepad ++中的字体大小。按F12可使当前选项卡浮动在Windows中的所有其他位置。 对于编码,Notepad ++可以识别许多编程语言 ,并且通过对文本进行颜色编码,可以更自动地使HTML更容易查看。它还有一个很好的查找和替换工具。作为Window的记事本的替代品,NotePad ++令人难以置信,因为它具有更多的功能和能力,同时仍然非常轻巧和稳定。 NotePad ++是一个功能性的应用程序,但它不会赢得任何外观奖,许多功能只对程序员有用。但是,任何编写文本的人都会发现Notepad ++是一个有用的工具,并且比Windows Notepad要好得多。

2020-02-08

跟我一起学makefile

作为一个专业的Unix、Linux程序员必须要会的Makefile。本文档详细叙述了什么是Makefile,Makefile中的各个变量、语句个含义。以及教你如何编写Makefile。会不会编写Makefile从侧面说明了一个程序员是否具备完成大型工程的能力。

2018-11-05

2018年上半年软件设计师上午+下午真题及答案解析

2018年上半年软件设计师上午+下午真题及答案解析。

2019-11-10

VC++深入详解.孙鑫(完整版)

《VC++深入详解》主要从程序内部运行的机制和MFC程序的组织脉络入手,使读者在学习VC++编程知识时,既能够知其然,又能知其所以然,从而帮助读者从根本上理解和掌握Windows的程序设计。另外,《VC++深入详解》还贯穿作者多年来学习编程的一些经验,以及一些学习方法的建议,为读者进一步的学习提供指导。   《VC++深入详解》从实际应用入手,由浅入深、循序渐进地讲述Windows程序内部运行机制、MFC框架、文本、菜单、对话框、文件操作、网络编程、进程间通信、ActiveX控件、动态链接库、HOOK编程等多个主题。   《VC++深入详解》内容丰富、实用性强,许多代码可以直接应用到工程项目中。书中的配套光盘还免费提供近乎45小时的VC++教学视频,读者在学习的过程中可以将视频和书互为参考,配合学习,这样可以更快、更好地掌握VC++编程。   《VC++深入详解》适合于VC++6.0的初学者和使用VC++从事开发的程序员,对于具有一定VC++编程经验的读者,也具有很好的参考价值。

2019-03-23

C程序设计伴侣(陈良乔 著)

帮你更好地理解谭浩强老师的那本书以及更多。 更有趣、更容易、更深刻、更实战。 人有了伴侣才幸福,书有了伴侣才好懂。 学习C语言必备书籍之一。

2018-10-25

Visual Assist VS2017 2015 2013 2010 +通用版.zip

Visual Assist 是由Whole Tomato公司为Microsoft Visual Studio开发一款插件。它对Visual Studio的智能提示(Intellisense)功能和代码高亮功能进行了增强,同时还增加了代码提示功能和重构功能,并对程序注释加入了拼写检查功能。它还可以检测一些基本的语法错误,如使用未声明的变量等。 Visual Assist VS2017 2015 2013 2010 CR-OK Visual Assist X 通用和谐补丁+v2.0

2019-09-11

Windows核心编程(第五版)+源码

作者: Jeffrey Richter / Christophe Nasarre 出版社: 清华大学出版社 副标题: 微软技术丛书 译者: 葛子昂 / 周靖 / 廖敏 这是一本经典的Windows核心编程指南,从第1版到第5版,引领着数十万程序员走入Windows开发阵营,培养了大批精英。作为Windows开发人员的必备参考,本书是为打算理解Windows的C和C++程序员精心设计的。第5版全面覆盖Windows XP,Windows Vista和Windows Server 2008中的170个新增函数和Windows特性。书中还讲解了Windows系统如何使用这些特性,我们开发的应用程序又如何充分使用这些特性,如何自行创建新的特性。

2019-03-31

KinectSDK.chm接口查询

KinectSDK.chm。KinectSDK接口查询,采用chm格式,可直接搜索查询,也可通过目录查询,方便,好用,Kinect开发必备!

2019-04-24

软件设计师2009-2018真题及答案解析

软件设计师2009-2018真题及答案解析。

2019-11-10

2017年下半年软件设计师下午真题及答案解析

2017年下半年软件设计师下午真题及答案解析。

2019-11-10

Visual C++ 2013入门经典(第7版)

作者: (美) 霍尔顿(Horton,I.) 著 出版社: 清华大学出版社 原作名: (美) 霍尔顿(Horton,I.) 著 译者: 李周芳,江凌译 著名编程图书作家Ivor Horton引导学习Visual C++ 2013这本最新的C++语言畅销书遵循Ivor Horton一贯的畅销风格。Horton非常详尽地介绍了标准C++语言和Visual C++。 整本书都根据Visual C++ 2013进行了更新,展示了如何使用Visual C++建立实用的应用程序。阅读本书不需要任何编程经验。作者使用大量循序渐进的编程示例,引导读者掌握C++开发的全部奥秘。 本书特色 ◆ 介绍C++编程的基本概念以及Visual C++开发环境的要点 ◆ 从简单的过程式程序开始解释C++语言,逐步过渡到类和面向对象编程 ◆ 演示如何在各种环境下应用标准模板库(STL) ◆ 揭示每个Windows桌面应用程序中的基本元素 ◆ 展示如何使用MFC建立图形用户界面以编写Windows应用程序 ◆ 通过一个在Windows 8下执行的游戏示例,说明如何开发Windows Store应用程序

2019-03-31

深入浅出MFC(第2版)

作者: 侯俊杰 出版社: 松岗 深入浅出MFC是一本介绍 MFC(Microsoft Foundation Classes)程式设计技术的书籍。对於 Windows 应用软体的开发感到兴趣,并欲使用 Visual C++ 整合环境的视觉开发工具,以 MFC 为程式基础的人,都可以从此书获得最根本最重要的知识与实例。 如果你是一位对 Application Framework 和物件导向(Object Oriented)观念感兴趣的技术狂热份子,想知道神秘的 Runtime Type Information、Dynamic Creation、Persistence、Message Mapping 以及 Command Routing 如何实作,本书能够充分满足你。事实上,依我之见,这些核心技术与彻底学会操控 MFC 乃同一件事情。 全书分为四篇: 第一篇【勿在浮砂筑高台】提供进入MFC核心技术以及应用技术之前的所有技术基础,包括: Win32程式观念:message based, event driven, multitasking, multithreading, console programming。 C++ 重要技术:类别与物件、this 指标与继承、静态成员、虚拟函式与多型、模板(template)类别、异常处理(exception handling)。 MFC 六大技术之简化模拟(Console 程式) 第二篇【欲善工事先利其器】提供给对 Visual C++ 整合环境全然陌生的朋友一个导引。这一篇当然不能取代 Visual C++ User's Guide 的地位,但对整个软体开发环境有全盘以及概观性的介绍,可以让初学者迅速了解手上掌握的工具,以及它们的主要功能。 第三篇【浅出 MFC 程式设计】介绍一个 MFC 程式的生死因果。已经有 MFC 程式经验的朋友,不见得不会对本篇感到惊艳。根据我的了解,太多人使用 MFC 是「只知道这麽做,不知道为什麽」;本篇详细解释 MFC 程式之来龙去脉,为初入 MFC 领域的读者奠定扎实的基础。说不定本篇会让你有醍醐灌顶之感。 第四篇【深入 MFC 程式设计】介绍各式各样 MFC 技术。「只知其然 不知其所以然」的不良副作用,在程式设计的企图进一步开展之後,愈来愈严重,最终会行不得也!那些最困扰我们的 MFC 巨集、MFC 常数定义,不得一窥堂奥的 MFC 黑箱作业,在本篇陆续曝光。本篇将使您高喊:Eureka! 范例程式方面,第三章有数个 Console 程式(DOS-like 程式,在 Windows 系统的DOS Box 中执行),模拟并简化 Application Framework 六大核心技术。另外,全书以一个循序渐进的 Scribble 程式(Visual C++ 所附范例),从第七章开始,分章探讨每一个 MFC 应用技术主题。第13章另有三个程式,示范 Multi-View 和 Multi-Document 的情况。14章~16章是第二版新增内容,主题分别是 MFC 多绪程式设计、Custom AppWizard、以及如何使用 Component Gallery提供的 ActiveX controls 和 components。

2019-03-31

DuiLib中的API介绍

DuiLib中的API介绍 学习DuiLib官方没有对应API文档,存放起来自查用。

2019-03-31

空空如也

空空如也

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

TA关注的人 TA的粉丝

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