摘要: COM组件设计与应用(三)数据类型作者:杨老师一、前言  上回书介绍了GUID、CLSID、IID和接口的概念。本回的重点是介绍 COM 中的数据类型。咋还不介绍组件程序的设计步骤呀?咳......别着急,别着急!孔子曰:“饭要一口一口地吃”;老子语:“心急吃不了热豆腐”,孙子云:“走一步看一步吧” ...... 先掌握必要的... 阅读全文
posted @ 2009-06-20 10:14 独奏者 阅读(1947) 评论(0) 推荐(0) 编辑
摘要: (一)Linux网络编程--网络知识介绍Linux网络编程--网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端. 客户端 在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。 比如我们使用ftp程序从另外一 个地方获取文件的时候,是我们的ftp程序主动同外面进行通信(获取文件), 所以这个地方我们的ft... 阅读全文
posted @ 2009-06-19 13:13 独奏者 阅读(109663) 评论(12) 推荐(39) 编辑
摘要: [代码]出处:http://topic.csdn.net/u/20090424/17/8a732a9e-9f8e-46c5-a8b6-9dfcf903eb86.html?43395 阅读全文
posted @ 2009-06-19 12:55 独奏者 阅读(1119) 评论(0) 推荐(0) 编辑
摘要: xml有良好的开放性、可读性和可扩充性。如果你的协议是开放的,并且希望别人也能帮你做些扩充功能的什么插件的,可以考虑用xml。但是最本质的一点,xml的有效载荷实在太低,封装和解析效率太低,所以只适用于非常少量,对性能没要求的网络流量。典型的案例就是文字聊天。如 GTalk 的基础,开源的即时消息协议系统 Jabber。 另外,对于java和.net系统,由于内置xml引擎,采用xml有天然的优势... 阅读全文
posted @ 2009-06-19 12:47 独奏者 阅读(3585) 评论(0) 推荐(0) 编辑
摘要: COM组件设计与应用(二)GUID 和 接口作者:杨老师一、前言  书接上回,话说在 doc(Word) 复合文件中,已经解决了保存 xls(Excel) 数据的问题了。那么,接下来又要解决另一个问题:当 WORD 程序读取复合文件,遇到了 xls 数据的时候,它该如何启动 Excel 呢?启动后,又如何让 Excel 自己去读入、解析、显示 xls 数据呢?二、CLSID 概念  有一个非常简单... 阅读全文
posted @ 2009-06-18 15:25 独奏者 阅读(863) 评论(0) 推荐(0) 编辑
摘要: 跟高人学的.....观察文件头 前面有三个字节编码标识的 如果没有,就是普通编码 "FF FE" unicode"FE FF" unicode big endian"EF BB BF" utf-8 阅读全文
posted @ 2009-06-18 15:21 独奏者 阅读(333) 评论(0) 推荐(0) 编辑
摘要: COM 组件设计与应用(一)起源及复合文件作者:杨老师一、前言  公元一九九五年某个夜黑风高的晚上,我的一位老师跟我说:“小杨呀,以后写程序就和搭积木一样啦。你赶快学习一些OLE的技术吧......”,当时我心里就寻思 :“开什么玩笑?搭积木方式写程序?再过100年吧......”,但作为一名听话的好学生,我开始在书店里“踅摸”... 阅读全文
posted @ 2009-06-18 14:46 独奏者 阅读(496) 评论(0) 推荐(0) 编辑
摘要: 1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用 closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket: BOOL bReuseaddr=TRUE; setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(B... 阅读全文
posted @ 2009-06-16 12:28 独奏者 阅读(6198) 评论(0) 推荐(0) 编辑
摘要: DEBUG和RELEASE 版本差异及调试相关问题: . 内存分配问题 1. 变量未初始化。下面的程序在debug中运行的很好。 thing * search(thing * something) BOOL found; for(int i = 0; i < whatever.GetSize(); i++) { if(whatever[i]->field =... 阅读全文
posted @ 2009-06-14 22:25 独奏者 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 一、Debug 和 Release 编译方式的本质区别 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。 Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但... 阅读全文
posted @ 2009-06-14 22:22 独奏者 阅读(2106) 评论(0) 推荐(0) 编辑