- 博客(33)
- 资源 (6)
- 收藏
- 关注
原创 DoxyGen常用语法标记
因为要经常阅读一些源码英文文档,所以今天把一些常用的DoxyGen关键字合集记录下来,以便以后查阅;同事也可以方便其他有需要的人能够看到;下面是我个人认为比较常用的标记:@author 作者@brief 摘要@version 版本号@date 日期@file
2014-04-03 14:18:32 792
转载 BSTR、char*和CString转换
(1) char*转换成CString 若将char*转换成CString,除了直接赋值外,还可使用CString::Format进行。例如:[cpp] view plaincopychar chArray[] = "This is a test"; char * p = "This is a test";
2014-06-27 05:47:41 515
转载 windows sdk编程系列文章 ---- 利用镂空制作特效界面
windows sdk编程系列文章 ---- 利用镂空制作特效界面理论:平时我们经常看到一些不规则的窗口界面,给人的感觉也比较好。本篇我们就做这样一个特效界面。先贴出一个图来。要制作这样一个不规则的窗口其实比较简单。我们先看看原理,首先我们要做一张背景图。如图所示。我们看到背景图中,粉色的底色,我们需要处理掉。关于背景颜色的rgb值,我们可以通过GetPix
2014-06-17 03:39:38 934
转载 CRuntimeClass
我眼里的RuntimeClass实现 (转)最近开始学习VC了,谈谈心得吧。班门弄斧,请多多指教。心得之一:MFC中RuntiemClass支持的实现:只要是从Cobject派生的类,可以轻松实现RuntiemClass支持。当然,是通过编译器提供的宏来实现的。那么其实现机制是怎样的呢?我觉得只需要四个步骤。首先让我们简化一下CRuntiemClass和CO
2014-06-11 15:45:05 763
转载 C++函数参数,返回值,拷贝构造函数等
相信大家对C++的特性有了比较多的了解, 这一节我们来对函数参数(实参, 虚参), 返回值机制;类深度拷贝构造,赋值操作符使用更深一步的了解。如果你对这一节完全了解,恭喜你,你对C++的了解不算太不肤浅。 我们还是使用例子来说明: 定义一个类 CTest, 包含构造函数, 拷贝构造函数,重载赋值操作符函数等。 class CTest{public:
2014-06-08 00:45:45 579
转载 MFC-ActiveX
1.ActiveX的基本概念 ActiveX控件可以看作是一个极小的服务器应用程序,它不能独立运行,必须嵌入到某个容器程序中,与该容器一起运行。这个容器包括WEB网页,应用程序窗体等。。。 ActiveX控件的后缀名是OCX或者DLL。一般是以OCX和动态库共存的形式打包成cab或者exe的文件放在服务器上,客户端下载后运行安装cab或exe解压成O
2014-06-05 11:32:46 556 1
转载 多线程中volatile关键字的作用
多线程的程序是出了名的难编写、难验证、难调试、难维护,这通常是件苦差事。不正确的多线程程序可能可以运行很多年也不出一点错,直到满足某些临界的条件时,才出现意想不到的奇怪错误。 不用说,编写多线程程序的程序员需要使用可能得到的所有帮助。这期专栏将专注于讨论竞争条件(race conditions)——这通常是多线程程序中各种麻烦的根源——深入了解它并提供一些工具来防止竞争。令
2014-05-31 11:32:18 1085
转载 C++接口定义及其实现
一、接口的定义有时候,我们得提供一些接口给别人使用。接口的作用,就是提供一个与其他系统交互的方法。其他系统无需了解你内部细节,并且也无法了解内部细节,只能通过你提供给外部的接口来与你进行通信。根据c++的特点,我们可以采用纯虚函数的方式来实现。这样做的好处是能够实现封装和多态。现举一实例,供大家参考。(不想做过多说明,大家一看就应该能够明白)Class IPerson{
2014-05-30 14:12:49 699
转载 RepositionBars的用法和参数分析
MFC窗口位置管理详细分析及实例 在一般用MFC编写的程序的窗口客户区中,可能有好几个子窗口(具有WM_CHILD风格的窗口)。上边是工具栏,中间是视图窗口,下边是状态栏。三个窗口在框架的客户区里和平共处,互不重叠。主框架窗口的尺寸改变了,别的子窗口都能及时调整自己的尺寸以便保持相互位置关系不变,例如状态条窗口总能保持在主框架客户区底部,并且其宽度总能和主框架客户区宽度一致。工具栏窗口总能停靠在主
2014-05-29 14:28:04 1960
转载 关于VC++, MFC过时了吗的想法
在无聊的时候看到了网上说VC++ MFC 过时了,首先,我肯定能说出这样的话的人本身就是外行。你只要在WINDOW平台下写程序VC++ MFC 就绝不过时,当然你也可以直接用API写,但是VC++调用API是最方便的!说VC++ MFC 过时了简直就是个天大的笑话!不信的话你去用PEID查看你电脑C盘下的可执行文件,包括QQ PHOTOSHOP FLASH 反恐精英 等
2014-05-27 02:03:25 1291
转载 MCI函数学习
MCI 函数与命令Microsoft 提供的 MMSYSTEM.H 文件中定义了调用 MCI 功能的数据类型和函数原型。在使用MCI 功能的任何源模块中都应包含该文件。 1. MCI 函数所有的 MCI 函数名都以 mci 为前缀。对应于 MCI 命令消息和命令字符串接口方式, MCI 函数也分为两类,即命令消息函数和命令字符串函数。在 MMSYSTEM.H 中定义了这些函数的原型
2014-05-26 17:12:58 804
转载 IP 地址的三种表示形式
使用TCP/IP协议进行网络应用开发的朋友首先要面对的就是对IP地址信息的处理。IP地址其实有三种不同的表示格式: 1)Ascii(网络点分字符串)- 2) 网络地址(32位无符号整形,网络字节序,大头) 3)主机地址 (主机字节序) IP地址是IP网络中数据传输的依据,它标识了IP网络中的一个连接,一台主机可以有多个IP地址,I
2014-04-28 23:17:43 6466
转载 null指针
精:空(null)指针与0值空(null)指针与0值 5.1 臭名昭著的空指针到底是什么?语言定义中说明, 每一种指针类型都有一个特殊值—— “空指针” —— 它与同类型的其它所有指针值都不相同, 它“与任何对象或函数的指针值都不相等”。也就是说, 取地址操作符& 永远也不能得到空指针, 同样对malloc() 的成功调用也不会返回空指针, 如果失败, ma
2014-04-26 12:26:51 922
转载 空指针与void *指针
指针为C语言编程提供了强大的支持——如果你能正确而灵活地利用指针,你就可以直接切入问题的核心,或者将程序分割成一个个片断。一个很好地利用了指针的程序会非常高效、简洁和精致。利用指针你可以将数据写入内存中的任意位置,但是,一旦你的程序中有一个野指针("wild”pointer),即指向一个错误位置的指针,你的数据就危险了——存放在堆中的数据可能会被破坏,用来管理堆的数据结构也可能会被破坏,甚
2014-04-26 12:11:32 936
转载 VLC初级
VLC的强大功能我就不赘述了,相信看到这篇文章的朋友都已经有所了解了,如果还不太清楚,可以访问http://www.videolan.org/vlc/features.html. 首先大家需要下载一份VLC的源码,地址http://www.videolan.org/vlc/download-sources.html 编译方法上面也有阐述,不过根据我的经验,希望大家不要去尝试在win
2014-04-21 18:02:37 725
转载 NAT穿越
NAT穿越穿越NAT的意义: NAT是为了节省IP地址而设计的,但它隐藏了内网机器的地址,“意外”起到了安全的作用。对外不可见,不透明的内部网络也与互联网的“公平”应用,“相互共享”的思想所不容,尤其是P2P网络中“相互服务”的宗旨,所以穿越NAT,让众多内部网络的机器也参与到P2P网络中的大集体中来,一直是P2P开发者的所希望的。穿越NAT需要借助外部的支持,说白了就是“内外勾结”
2014-04-21 11:49:36 734
转载 采集音频和摄像头视频并实时H264编码及AAC编码
转载自:0. 前言DirectShow捕获音视频然后生成avi,再进行264编码的方法。那种方法有一些局限性,不适合实时性质的应用,如:视频会议、视频聊天、视频监控等。本文所使用的技术,适用于这种实时性的应用,通过处理采集出来的音视频的每一帧,实现实时编码,实时输出。这是我做直播系列应用的一部分,目前的情况是输入端采用DirectShow技术捕获音视频,然后对视频进行h.264编码,对
2014-04-21 01:18:06 930
转载 RTP协议分析
RTP协议分析第1章. RTP概述1.1. RTP是什么RTP全名是Real-time Transport Protocol(实时传输协议)。它是IETF提出的一个标准,对应的RFC文档为RFC3550(RFC1889为其过期版本)。RFC3550不仅定义了RTP,而且定义了配套的相关协议RTCP(Real-time Transport Control Protocol,
2014-04-21 01:13:12 730
转载 H264 NALU详解
1.引言H.264的主要目标:1.高的视频压缩比2.良好的网络亲和性解决方案:VCL video coding layer 视频编码层NAL network abstraction layer 网络提取层VCL:核心算法引擎,块,宏块及片的语法级别的定义NAL:片级以上的语法级别(如序列参数集和图像参数集),同时支持以下功能:独立片解码,起始码唯一
2014-04-20 23:57:29 602
转载 详解大端模式和小端模式
详解大端模式和小端模式嵌入式开发交流群280352802,欢迎加入!一、大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,
2014-04-20 19:30:36 384
转载 H264
源地址:相信有不少人和我一样,希望实现H264格式视频的流媒体播放。但是对于一个新手来说,往往不知道从何入手。利用百度,GOOGLE等搜索资料真是沙里淘金。在琢磨了N周之后,才弄出来了点成果,其中费了很多无用的功夫,光看英文协议就费了一周,后来才知道有中文版,并且我所达到的目的很简单,只要让VLC实时播放就行,不需要了解整个协议。我也很希望能直接搜出来一套代码,都一直没找到,还是得自己动手。现
2014-04-19 23:17:47 543
转载 C语言位域概念
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个类型单元中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以达到压缩数据的目的。位域定义
2014-04-19 22:11:06 607
转载 C程序的内存分配
在多任务操作系统中的每一个进程都运行在一个属于它自己的内存沙盘中。这个沙盘就是虚拟地址空间(virtual address space),在32位模式下它总是一个4GB的内存地址块。这些虚拟地址通过页表(page table)映射到物理内存,页表由操作系统维护并被处理器引用。每一个进程拥有一套属于它自己的页表,但是还有一个隐情。只要虚拟地址被使能,那么它就会作用于这台机器上运行的所有软件,包括
2014-04-12 13:54:18 555
转载 std::string与CString字符串的相互转换
《C++标准函数库》中说的 有三个函数可以将字符串的内容转换为字符数组和C—string 1.data(),返回没有”\0“的字符串数组 2,c_str(),返回有”\0“的字符串数组 3,copy() .................................................................int 转 CString:CStri
2014-04-10 11:45:38 1238
转载 Windows API 消息和回调函数理解
MSG结构typedef struct tagMSG {HWND hwnd; //这个消息所在的窗口句柄UINT message; //消息标识符,如WM_SIZE、WM_COMMAND、WM_QUIT等等WPARAM wParam; //32位消息的特定附加信息LPARAM lParam;
2014-04-09 18:07:33 4307
转载 std::vector用法
vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。为了可以使用vector,必须在你的头文件中包含下面的代码:#include vector属于std命名域的,因此需要通过命名限
2014-04-07 23:12:08 808
转载 std::string用法
在平常工作中经常用到了string类,本人记忆了不好用到了的时候经常要去查询。在网上摘抄一下总结一下,为以后的查询方便:string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化string类的字符操作:const char &operator[](int n)c
2014-04-07 22:39:14 606
原创 ActiveX初级
在VS2010中开发ActiveX控件设置测试容器的方式借鉴文章http://blog.csdn.net/waxgourd0/article/details/7374669 在VS2010中开发MFC ActiveX控件,开发完后,通常使用VS自带的容器ActiveX Control Test Container来运行ActiveX控件。此容器在VS安装后的文件中是找
2014-03-24 00:05:11 537
转载 第十课笔记
1.画图: a.创建四个菜单,为其添加消息响应; b.在View中添加m_DrawType,保存绘画类型; c.增加成员变量,m_PtOrigin,当按下鼠标左键时,保存此点; d.在OnLButtonUp中画点,线,矩形,椭圆,别忘记设置成透明画刷 2.为其添加一个设置对话框(线型和线宽) a.创建对话框,为其创建一个新类关联它; b.为其中的线宽关联
2014-03-20 22:15:42 656
原创 MFC_01
2修改光标图标和背景窗口的类型和大小是在创建窗口的时候设定的,而图标光标是在设计窗口类的时候指定的,由MFC底层代码自动生成的。可以编写自己的窗口类然后注册,在PreCreateWindow函数中:WNDCLASS wndcls; wndcls.cbClsExtra =0; wndcls.cbWndExtra =0;
2014-03-20 16:25:18 619
原创 流媒体学习笔记
1,[总结]FFMPEG视音频编解码零基础学习方法http://blog.csdn.net/leixiaohua1020/article/details/158119772海狗哥的流媒体空间 http://jeremiah.blog.51cto.com/3 VLC官网 http://www.videolan.org/projects/4 VLC简介及说明 http
2014-03-17 21:11:40 797
C语言深度剖析(绝对的经典)
2014-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人