11 2012 档案
摘要:C++类所占内存大小计算转载时请注明出处和作者联系方式文章出处:http://blog.csdn.net/chenchong08作者联系方式:vision_chen@yeah.net说明:笔者的操作系统是32位的。class A {}; sizeof( A ) = ?sizeof( A ) = 1明明是空类,为什么编译器说它是1呢?空类同样可以实例化,每个实例在内存中都有一个独一无二的地址,为了达到这个目的,编译器往往会给一个空类隐含的加一个字节,这样空类在实例化后在内存得到了独一无二的地址.所以sizeof( A )的大小为1.class B {public: B() {} ~B() {}
阅读全文
摘要:1、Windows消息传输对象 当开发界面程序时,特别是windows界面编程,消息尤为重要;相信开发过windows界面程序的人们,对PostMessage(),SendMessage(),PostThreadMessage()不是很陌生,各个窗口基本上都可以通过这三个函数实现各种消息的传递,从面达到各个窗口之间的通信;窗口可以通过这三个函数向别的窗口发送消息,也可以接收消息,当然消息里就承载了进程间通信的各种信息(如要协同做些什么,完成什么功能等)。2、文件共享和内存共享 文件共享,简言之就是文件映射到内存,达到共享,从而实现通信3、系统剪贴板通信 其实这也是一种通过共享而实现通信的方式,
阅读全文
摘要:Udp打洞,判断Nat网络类型一种基于UDP协议实现P2P智能穿越NAT的方案摘要:由于目前NAT(NetworkAddressTranslation,网络地址转换协议)的广泛运用,处于Internet上的公网主机与处于NAT之后的主机建立对等连接是实现P2P(Peer-To-Peer,点对点)通信很关键的问题。本文在分析了基于UDP(UserDatagramProtocol,用户数据报)协议穿透NAT的实现原理的基础上,给出了一个基于UDP协议,根据不同NAT类型情况自适应选择NAT穿越方案,实现P2P通信的实现方案。关键词:UDP,NAT,P2P中图分类号:TP2731.引言NAT技术不仅
阅读全文
摘要:内容概述:在p2p通信领域中,由NAT(Network Address Translation,网络地址转换)引起的问题已经众所周知了,它会导致在NAT内部的p2p客户端在无论以何种有效的公网ip都无法访问的问题。虽然目前已经发展出多种穿越NAT的技术,但相关的技术文档却很少,用来证明这些技术的稳定性和优点的实际数据更少。本文的目的在于描述和分析在实际中运用得最广泛、最可靠同时也是最简单的一种NAT穿越技术,该技术通常被称为“打洞”技术。目前,“打洞”技术已经在UDP通信领域中得到了广泛的理解和应用,在此,也将讨论如何利用它实现可靠的p2p的TCP流通信。在收集了大量的“打洞”技术可以穿越的N
阅读全文
摘要:1、如何判断一个链表是不是这类链表? 2、如果链表为存在环,如果找到环的入口点?解答:一、判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先行头到尾部为NULL,则为无环链表)程序如下:bool IsExitsLoop(slist *head){ slist *slow = head, *fast = head; while ( fast && fast->next ) { slow = slow-&g
阅读全文