Socket编程小结
摘要:
目录:
什么是 socket?... 1
Internet 套接字的两种类型... 1
网络理论... 2
结构体... 2
本机转换... 3
IP 地址和如何处理它们... 4
socket()函数... 4
bind()函数... 4
connect()程序... 5
listen()函数... 6
accept()函数... 6
send() and recv() 7
sendto() 和 recvfrom()函数... 7
close()和shutdown()函数... 8
getpeername()函数... 8
gethostname()函数... 8
域名服务(DNS)... 8
客户-服务器背景知识... 9
b
阅读全文
posted @
2007-05-11 10:03
沧海-重庆
阅读(1538)
推荐(0) 编辑
经典程序摘录
摘要:1.求质数... 1
素数... 1
分解质因数... 1
求其最大公约数和最小公倍数... 2
实现字符串拷贝函数strcpy() 2
实现内存拷贝函数memcpy() 2
阅读全文
posted @
2007-05-11 10:01
沧海-重庆
阅读(800)
推荐(0) 编辑
标准C++类型转换符
摘要:C 风格(C-style)强制转型如下:
(T) expression // cast expression to be of type T
函数风格(Function-style)强制转型使用这样的语法:
T(expression) // cast expression to be of type T
这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪的问题。我把这两种形式称为旧风格(old-style)的强制转型。
使用标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。
阅读全文
posted @
2007-05-11 09:59
沧海-重庆
阅读(6739)
推荐(1) 编辑
Windows 内存管理
摘要:Windows系统中的每个进程都被赋予它自己的虚拟地址空间。对于32位进程来说,这个地址空间是4GB,因为32位指针可以拥有从0x00000000至0xFFFFFFFF之间的任何一个值。对于64位进程来说,则这个空间是16EB。由于每个进程可以接收它自己的私有的地址空间,因此当进程中的一个线程正在运行时,该线程也只能访问只属于它的进程的内存。属于所有其他进程的内存则隐藏着,并且不能被访问。
阅读全文
posted @
2006-11-27 17:44
沧海-重庆
阅读(3814)
推荐(1) 编辑
关于endian
摘要:“endian”这个词出自《格列佛游记》。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开,由此曾发生过六次叛乱,其中一个皇帝送了命,另一个丢了王位。
我们一般将endian翻译成“字节序”,将big endian和little endian称作“大尾”和“小尾”。
阅读全文
posted @
2006-11-26 16:43
沧海-重庆
阅读(1300)
推荐(1) 编辑
多态
摘要: 从广义上说,多态性是指一段程序能够处理多种类型对象的能力。在C++语言中,这种多态性可以通过强制多态、重载多态、类型参数化多态、包含多态4种形式来实现。类型参数化多态和包含多态统称为一般多态性,用来系统地刻画语义上相关的一组类型。重载多态和强制多态统称为特殊多态性,用来刻画语义上无关联的类型间的关系。
阅读全文
posted @
2006-11-17 14:30
沧海-重庆
阅读(589)
推荐(0) 编辑
C/C+语言struct深层探索
摘要:在C语言中,当结构体中存在指针型成员时,一定要注意在采用赋值语句时是否将2个实例中的指针型成员指向了同一片内存。
在C++语言中,当结构体中存在指针型成员时,我们需要重写struct的拷贝构造函数并进行“=”操作符重载。
阅读全文
posted @
2006-11-15 11:25
沧海-重庆
阅读(512)
推荐(0) 编辑
比较好的C++面试题
摘要:自我感觉是很好的C/C++面试/笔试的题目,大家可以看看
阅读全文
posted @
2006-11-15 11:04
沧海-重庆
阅读(2394)
推荐(0) 编辑
解析C语言中的sizeof
摘要:sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。
阅读全文
posted @
2006-11-15 10:39
沧海-重庆
阅读(458)
推荐(0) 编辑
Sizeof与Strlen的区别与联系
摘要:1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。
该类型保证能容纳实现所建立的最大对象的字节大小。
阅读全文
posted @
2006-11-15 10:31
沧海-重庆
阅读(4363)
推荐(0) 编辑
typedef struct与struct的区别
摘要:typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。
在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。
阅读全文
posted @
2006-11-15 10:13
沧海-重庆
阅读(18445)
推荐(0) 编辑
什么是内存对齐
摘要: 一个字或双字操作数跨越了4字节边界,或者一个四字操作数跨越了8字节边界,被认为是未对齐的,从而需要两次总线周期来访问内存。一个字起始地址是奇数但却没有跨越字边界被认为是对齐的,能够在一个总线周期中被访问。
某些操作双四字的指令需要内存操作数在自然边界上对齐。如果操作数没有对齐,这些指令将会产生一个通用保护异常(#GP)。双四字的自然边界是能够被16整除的地址。其他的操作双四字的指令允许未对齐的访问(不会产生通用保护异常),然而,需要额外的内存总线周期来访问内存中未对齐的数据。
阅读全文
posted @
2006-11-15 09:55
沧海-重庆
阅读(2032)
推荐(0) 编辑
关于c++编译器和IDE的一些介绍
摘要:撰写本文的初衷并不打算带领大家体验古老的C++历史,如果你想了解C++的历史与其前期
发展中诸多技术的演变,你应当去参考Bjarne的《The Design and Evolution of C++》。
当然也不打算给大家一个无所不包的宝典(并非不想:其一是因水平有限,其二无奈C++之
博大精深),所给出的仅仅是一些我们认为对于想学习C++的广大读者来说最重要并且触手
可及的开发与学习资源。
阅读全文
posted @
2006-11-12 23:51
沧海-重庆
阅读(1028)
推荐(0) 编辑
二叉树的遍历及实现
摘要:树是一种非线性的二维数据结构。 这里要说的是一种特殊的二叉树,叫对分查找树。特点在于:左子树的所有值都比根节点小,右子树的所有值都比根节点大。 对分查找树的三种遍历: 中序遍历(inOrder) 遍历左子树;处理节点中的值;遍历右子树。 前序遍历(preOrder) 处理节点中的值;遍历左子树;遍历右子树。 后序遍历(postOrder...
阅读全文
posted @
2006-11-08 23:31
沧海-重庆
阅读(757)
推荐(0) 编辑
C++字符串处理函数
摘要:C++失败题 class BYTEmain(){BYTE * pByte = new BYTE[4];for(int i = 0; i using namespace std; char* strcpy(char* dest, const char *src ){// char* pdest = static_cast(dest);// const char* psrc = static_cas...
阅读全文
posted @
2006-11-08 23:29
沧海-重庆
阅读(3381)
推荐(0) 编辑
堆和栈的联系与区别- -
摘要:在bbs上,堆与栈的区分问题,似乎是一个永恒的话题,由此可见,初学者对此往往是混淆不清的,所以我决定拿他第一个开刀。
阅读全文
posted @
2006-11-08 23:04
沧海-重庆
阅读(674)
推荐(0) 编辑
堆与优先级队列
摘要:最大值堆(MAX-HEAP)的性质是任意一个结点的值都大于或者等于其任意一个子结点存储的值。由于根结点包含大于或等于其子结点的值,而其子结点又依次大于或者等于各自结点的值,所以根结点存储着该树的所有结点中的最大值。
阅读全文
posted @
2006-11-08 22:24
沧海-重庆
阅读(564)
推荐(0) 编辑
C++内存对象大会战
摘要:如果一个人自称为程序高手,却对内存一无所知,那么我可以告诉你,他一定在吹牛。
阅读全文
posted @
2006-11-08 21:52
沧海-重庆
阅读(1266)
推荐(1) 编辑