随笔分类 - C++
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->使用MFC提供的Http类下载和上传文件 1、下载文件 Download(const CString& strFileURLInServer, //待下载文件的URL const CString & s...
阅读全文
摘要: 什么时指针:指针是存入指定数据类型地址的一种变量,void * 指针类型的指针可以存放任何数据类型的指针。
定义和声名指针变量:由数据类型后跟星号,再跟随指针变量名组成。如 int *ip;指针在使用前,要进行初始化。
如int count =10;int *count = &count;如果忘记了给指针赋值是非常危险的。因为指针在没有初始化时存放的是一个随机的地址,此时如果给指针赋值(*count = 20;)是把20赋到了内存中的随机位置,因此很可能破坏系统中的另一变量甚至修改栈中的函数返回地址。
阅读全文
摘要:一个由c/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。
3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放
4、文字常量区 —常量字符串就是放在这里的。 程序结束后由系统释放
5、程序代码区—存放函数体的二进制代码。
阅读全文
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#pragma once #include "stdafx.h" #include "Atlbase.h" //#import "msxml.dll" #import "msxml2.dll" usin...
阅读全文
摘要:在这之前,我曾经开发过一个项目,其中一块需要网络支持,当时还考虑到了代码的可移植性,只要使用select,connect,accept,listen,send还有recv,再加上几个#ifdef的封装以用来处理Winsock和BSD套接字[socket]中间的不兼容性,一个网络子系统只用了几个小时很少的代码就写出来了,至今还让我很回味。那以后很长时间也就没再碰了。
前些日子,我们策划做一个网络游戏,我主动承担下网络这一块,想想这还不是小case,心里偷着乐啊。网络游戏好啊,网络游戏为成百上千的玩家提供了乐趣和令人着秘的游戏体验,他们在线上互相战斗或是加入队伍去战胜共同的敌人。我信心满满的准备开写我的网络,于是乎,发现过去的阻塞同步模式模式根本不能拿到一个巨量多玩家[MMP]的架构中去,直接被否定掉了。于是乎,就有了IOCP,如果能过很轻易而举的搞掂IOCP,也就不会有这篇教程了。下面请诸位跟随我进入正题。
阅读全文
摘要:assert
函数名: assert
功 能: 测试一个条件并可能使程序终止
用 法: void assert(int test);
阅读全文
浙公网安备 33010602011771号