C++
文章平均质量分 66
leng1987021
这个作者很懒,什么都没留下…
展开
-
户端程序员必备知识
网络游戏客户端结构:程序框架文件读写模块自动更新模块内存管理模块错误处理模块提交模块网络通讯模块窗口管理模块资源管理模块UI界面控件模块客户端AI模块用户输入处理模块网络消息处理模块底层绘图模块音效播放模块 防止外挂的一些技术:网络通讯加密非对称密钥加密客户端加壳动态更新加密解密算法使用脚本引擎开发逻辑处...原创 2012-06-27 19:43:11 · 155 阅读 · 0 评论 -
rapidxml操作xml
rapidxml:(内容源自网络)一个项目对xml的操作是很常见的,在网上找了好久,经过大家一致认为,rapidxml在解析xml上占有绝对优势(bug需要在用的时候发觉)。 库可以配置宏:RAPIDXML_NO_EXCEPTIONS //不使用异常RAPIDXML_STATIC_POOL_SIZE //内存池大小默认(64 * 1024)一般都不用改 rap...原创 2012-10-07 14:14:38 · 296 阅读 · 0 评论 -
文件操作
文件操作:文件的读写操作,是一个程序最基本的功能。 流: 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器(<<) 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout<<"Write S...原创 2012-10-07 09:50:25 · 124 阅读 · 0 评论 -
C++的字符应用(TCHAR,WCHAR,LPSTR,LPWSTR,LPCTSTR)
来自:http://www.cnblogs.com/lazycoding/archive/2012/03/11/2389820.html 许多VC++ 程序员对于像TCHAR,LPCTSTR这样诡异的标识符感到非常迷惑,今天,我将尝试简短的把这团迷雾解释清楚。一般来说,一个字符(character)占用1字节或是2字节,我们说1字节的字符是ANSI,他可以用来表示英语字母,而2...原创 2012-09-26 18:01:08 · 220 阅读 · 0 评论 -
#pragma 预处理指令
在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #pragma para 其中para为参数,下面来...原创 2012-09-15 23:19:47 · 99 阅读 · 0 评论 -
.rc Windows资源文件定义和使用
统一资源管理:在win32编程中,为方便项目中的资源统一管理,提供了一个格式统一的资源文件,对各种资源进行管理。它的扩展名是.rc,在程序编译时它会被资源编译器编译生成一个.res的二进制文件。rc文件的语法:1.注释:注释方式和 C 语言相通,单行注释用 // 符号,多行注释用 /* ... */ 符号。2.预处理命令:预处理指令包括一些头文件的引用(使用 #include ...原创 2012-09-15 18:47:54 · 1468 阅读 · 0 评论 -
在VS2010平台上创建并使用dll
代码的复用:1.源码级别的复用:优点可以阅读和修改相关的内容,更加灵活。缺点可控性不好,容易增加代码级别的耦合,内存开支较大,升级和维护比较麻烦。2.二进制级别的复用:优点就是上面的缺点,缺点就是上面的优点。lib和dll都是二进制级别的重用。 创建dll工程:通过Start Page或者File菜单栏,新建一个Project,将会弹出新建项目对话框。选择Win32 Pr...原创 2012-09-09 17:52:54 · 144 阅读 · 0 评论 -
关于"符号已定义"的链接错误
在写C++程序的时候,在编译和连接的时候,经常容易看到:LNK2005:symbol already definedLNK1169:one or more multiply defined symbols found之类的错误(这个是连接时报错)今天在网上看到一篇文章,是讲这方面相关的。在C++源程序编译为exe(二进制文件)的时候,会经历两个阶段:1.编译器把源文件...原创 2012-09-09 17:13:12 · 693 阅读 · 0 评论 -
C++头文件一览
C、传统 C++#include <assert.h> 设定插入点#include <ctype.h> 字符处理#include <errno.h> 定义错误码#include <float.h> 浮点数处理#include <fstream.h> 文件输入/输出#include <ioman...原创 2012-08-24 11:32:56 · 252 阅读 · 0 评论 -
C++函数
函数的作用,代码的重用,这种模块的概念在面向过程和面向对象的编辑方式中通用。 基础概念:1.函数的返回值:函数的返回类型是以指定的,默认情况下函数的返回值是int类型,(一般都需要明确指定)。2.参数的传递:在调用函数的时候,传入和返回参数都是值传递,这个根java很不一样。另外,函数里面的所有变量都是局部变量,包括:入参,内部变量,返回值。3.由于C++是编译语言不是解释语言...原创 2012-08-19 10:05:51 · 143 阅读 · 0 评论 -
C++复杂类型
基础:1.赋值:结构体的赋值,是值传递不是引用传递。 结构体(struct):1.结构体的典型定义: typedef struct tagSTUDENT{ int id; char name[20]; bool sex;}STUDENT,*PSTUDENT; struct tagSTUDENT1{ int id; ch...原创 2012-08-17 08:51:16 · 205 阅读 · 0 评论 -
VS的快捷键
VS的快捷键与eclipse的很不同,相同功能的按键不同,但是各人习惯eclipse的快捷键。Ctrl+E,D ----格式化全部代码 : ctrl+shift+FCTRL + -向后定位CTRL + SHIFT + -向前定位 Ctrl+Shift+U: 全部变为大写 Ctrl+U: 全部变为小写 Ctrl+Shift+L: 删除当前行 :...原创 2012-08-15 15:21:12 · 98 阅读 · 0 评论 -
C++基础类型
基础类型:1.基础类型的长度:(基础类型的长度会根据操作系统进行变化)char:8位,默认情况下char既不是有符号也不是无符号的。bool:0是false,其它的都是true。short:至少16位。int:至少与short一样长,至少16位。long:至少32位,且至少与int一样长。long long:至少64位,至少与long一样长。float:4.0...原创 2012-08-12 21:23:39 · 121 阅读 · 0 评论 -
C++的命名空间
命名空间:对于一个大型程序来说,变量名重名是很合理而且很频繁的。在java里面由于所有的变量都是在某个类里面定义,它只需要保障当前类里面的变量不重名就行了。但是对于C++来说,它既是一门面向对象的语言,又是一门兼容面向过程的语言。它的变量并不一定都是在类里面的定义的,为解决重名问题,它提出一个面向过程的解决方式。就是定义命名空间: #include <iostream>...原创 2012-06-28 14:20:37 · 84 阅读 · 0 评论 -
win32基础实例
本文毫无看点,完全是把系统自动生成的win32代码拷贝过来,而已。 #include "stdafx.h"#include "game01.h"#define MAX_LOADSTRING 100// Global Variables:HINSTANCE hInst; // current instanceTCHAR szTitle[MAX_...原创 2012-10-08 22:59:53 · 366 阅读 · 0 评论