posted @ 2010-07-02 20:51 绿豆芽33 阅读(3946) 评论(0) 推荐(0) 编辑
摘要:
linux内核计算从1970年1月1日0时起到开机当日经过的秒数,采用的方法不是调用开发环境库中的函数,而是linus专门实现的一个。个人觉得在处理闰年问题时很经典,特此贴出来为日后留个纪念。 阅读全文
摘要:
Bridge模式(桥接模式),要解决的问题是一个抽象类的派生类使用多种实现部分,但又不能引起类数量的爆炸。它的主要意图是将一组实现部分从另一组使用它们的对象中分离出来,使它们都可以独立的变化。这句话是不是很难理解?用Alan Shalloway的话讲,分离是指“让各部分的行为各自独立,或至少显式指出关联”,抽象部分是指“不同事物在概念层次上的联系”,... 阅读全文
posted @ 2010-03-10 18:50 绿豆芽33 阅读(295) 评论(0) 推荐(0) 编辑
摘要:
经常看到define中定义字符串时,在字符串前面加上一个大写的字母L,例如:#define variable L"hello world"这是干什么用的呢?其实,这个L是宽字符,通知编译器后面的字符为UNICODE标准。这种标准和ANSI有什么区别呢?8位ANSI字符 char16位 UNICODE字符 wchar_t在<tchar.h>中有 typedef unsigned shor... 阅读全文
posted @ 2010-01-27 20:15 绿豆芽33 阅读(3002) 评论(1) 推荐(0) 编辑
摘要:
使用vs2005编译时会遇到这样一个warning:warning C4996:**** was declared deprecated 其实 warning C4996的详细含义就是:****: This function or variable may be unsafe. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.例如:#incl... 阅读全文
posted @ 2010-01-27 19:50 绿豆芽33 阅读(1271) 评论(5) 推荐(0) 编辑
摘要:
在tcp/ip的头结构中遇到这种带冒号的定义形式:u_int16_t doff:4。经查,此乃位域也。C语言提供的一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来... 阅读全文
posted @ 2010-01-26 19:05 绿豆芽33 阅读(292) 评论(0) 推荐(0) 编辑
摘要:
服务端void CPipetest1Dlg::OnOK() { // TODO: Add extra validation here HANDLE hSvrHndle=CreateNamedPipe("\\\\.\\pipe\\pipetest\\", PIPE_ACCESS_DUPLEX, PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | // me... 阅读全文
posted @ 2010-01-24 21:06 绿豆芽33 阅读(739) 评论(0) 推荐(0) 编辑
摘要:
命名管道进程间通信的一种方式,Pipes:管道,分为无名管道:在父子进程间交换数据;有名管道:可在不同主机间交换数据,分为服务器方和客户方,在Win9X下只支持有名管道客户。下面主要介绍一下命名管道的用法。(本文参考了VChelp的使用命名管道实现进程间通信一文,后面的例子不同,可以参考)1.命名管道的命名命名管道是一个有名字的,单向或双向的通信管道。管道的名称有两部分组成:计算机名和管道名,例如... 阅读全文
posted @ 2010-01-24 20:43 绿豆芽33 阅读(4279) 评论(0) 推荐(0) 编辑