- 博客(13)
- 资源 (5)
- 收藏
- 关注
转载 彻底理解C、C++、WIN32与COM中的字符串
C/C++中的字符串问题在网上的讲解一向非常含糊,存在各个层次的库混用、滥用的情况,尤其是宽字符与窄字符等问题很难找到有效的资料,本篇随笔分享一下我长期收集到的一些比较准确的资料以及据此得到的个人理解.C语言中的字符串C语言中提供了两种字符类型char和wchar_t,C语言使用字符数组来表示字符串,同时支持两种直接量写法:"abcd"和 L"abcd" 来表示字符串常量文字量,C语言允许
2010-01-21 10:08:00 738
转载 C++的中英文字符串表示(string,wstring)
在C++中字符串类的string的模板原型是basic_string Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->template class _Elem, class traits = char_traits_E
2010-01-21 10:04:00 3121
转载 理解Filter创建的过程
当我们自己在开发Filter时,通常需要了解一下我们自开发的Filter是在何时、怎么样被创建出来的! 其实,写Filter程序时,我们只要按照固定的格式定义以下几个结构体和类工厂模板,这样DirectShow就能够自动帮我们创建出Filter组件了!(Note:根据自己的实际要求填写相应的部分,下面的代码来自DirectShow文档) static const WCHAR g
2010-01-20 15:50:00 970
转载 用ATL建立轻量级的COM对象
本文假设你熟悉C++和COM。摘要: ATL——活动模板库(The Active Template Library),其设计旨在让人们用C++方便灵活地开发COM对象。ATL本身相当小巧灵活,这是它最大的优点。用它可以创建轻量级的,自包含的,可复用的二进制代码,不用任何附加的运行时DLLs支持。 由于COM技术良好的口碑,越来越多的程序员已经走进或正在走进COM的编程世界。它就像盛夏里
2010-01-17 11:24:00 1566
转载 用VC进行COM编程所必须掌握的理论知识
一、为什么要用COM 软件工程发展到今天,从一开始的结构化编程,到面向对象编程,再到现在的COM编程,目标只有一个,就是希望软件能象积方块一样是累起来的,是组装起来的,而不是一点点编出来的。结构化编程是函数块的形式,通过把一个软件划分成许多模块,每个模块完成各自不同的功能,尽量做到高内聚低藕合,这已经是一个很好的开始,我们可以把不同的模块分给不同的人去做,然后合到一块,这已经有了组装的概念了。
2010-01-15 20:08:00 1178
原创 COM技术相关网站
COM技术相关网站:http://www.cppblog.com/mzty/archive/2005/12/23/2002.html 用VC进行COM编程所必须掌握的理论知识http://www.vckbase.com/vckbase/columnist/yangfeng/index.asp 杨老师的个人专栏http://www.vckbase.com/document/viewdoc/?id=2
2010-01-15 15:55:00 868
原创 #define用法汇总
1. 定义简单的常数:定义常量,便于修改(切不可在后面加上分号!) #define N 1000 等效于 const int N = 1000; 但略有不同,define只是简单替换,而不是作为一个量来使用.2. 定义简单的函数:注意多使用括号define可以像函数那样接受一些参数,如下:#define max(x,y) (x)>(y)?(x):(y);这个定义就将
2010-01-12 22:22:00 1328 1
转载 int型长度
Ø 基本数据类型C语言中只有4中基本数据类型——整型、浮点型、指针和聚合类型(如数组和结构等);所有其他类型都是从这4种基本类型的某种变化或组合派生而来。一、整型家族整型家族包括char、short int、int和long int,并且都分为signed和unsigned型。int型字长问题:
2010-01-12 19:39:00 13493 1
原创 C/C++中有关字长与平台无关的整数类型
在C/C++中,整型的长度跟编译器相关,编译器的实现取决于CPU. 比如TC++是DOS16下的应用程序,DOS16是16位的操作系统,所以TC++中sizeof(int)==16;同理win32中sizeof(int)==32. C99标准定义一个叫着的头文件,该头文件定义了一系列各种类别的整数类型typedef名字。尽管速多C++工具支持该头文件已经有一段时间了,但它尚未正
2010-01-12 19:01:00 1336 1
转载 C语言中的联合体union
在C/C++程序的编写中,当多个基本数据类型或复合数据结构要占用同一片内存时,我们要使用联合体;当多种类型,多个对象,多个事物只取其一时(我们姑且通俗地称其为“n 选1”),我们也可以使用联合体来发挥其长处。首先看一段代码:union myun { struct { int x; int y; int z; }u; int k; }a; int main() { a.u.x =4; a
2010-01-11 11:33:00 6133
原创 setsockopt函数和udp固定端口发送
int setsockopt ( SOCKET s, int level, int optname, const char FAR * optval, int optlen );The Windows Sockets setsockopt
2010-01-10 13:14:00 3830
转载 IPv6名称到地址的转换函数getaddrinfo()详解
IPv4中使用gethostbyname()函数完成主机名到地址解析,但是该API不允许调用者指定所需地址类型的任何信息,返回的结构只包含了用于存储IPv4地址的空间。为了解决该问题,IPv6中引入了getaddrinfo()的新API,它是协议无关的,既可用于IPv4也可用于IPv6。调用该函数会获得一个addrinfo结构的列表,调用的返回值是addrinfo的结构(列表)指针。
2010-01-04 17:22:00 1165
原创 一个高效率的线程池类
MMORPG游戏服务端线程池类线程池: 线程是一种比较昂贵的资源.有些系统为了重用线程.引入了线程池的机制. 线程池的工作原理如下: 首先.系统会启动一定数量的线程.这些线程就构成了一个线程池.当有任务要做的时候.系统就从线程池里面选一个空闲的线程.然后把这个线程标记为“正在运行”.然后把任务传给这个线程执行.线程执行任务完成之后.就把自己标记为"空闲".这个过程并不难以理解.难以理解的是.一般来
2010-01-04 10:45:00 1862 1
AIX双机热备配置文档(HACMP配置)
2011-09-15
DirectShow_SDK学习笔记(200多页)
2009-11-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人