摘要: 参考文章:http://www.cppblog.com/Macaulish/archive/2008/06/17/53689.html跪求指出错误!Why need it?extern "C"的根本目的是为了实现C和C++的混合编程。The principle根本原因在于C++和C中的函数的编译方式不同。如函数void foo(int n);被C编译器编译后在符号表中的名字形如:_foo被C++编译器编译后在符号表中的名字形如:_foo_intC++中为什么要采用这种编译方式呢?因为C++中支持函数重载,而C不支持函数重载,再回想一下函数重载的要求:函数名相同,函数参数类型 阅读全文
posted @ 2012-05-12 14:08 刘军newhand_liu 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 获取当前系统信息:void WINAPI GetSystemInfo(_out LPSYSTEM_INFO lpSystemInfo)实例代码:#include <Windows.h> #include <iostream> using namespace std; void main() { SYSTEM_INFO sysInfo; GetSystemInfo(&sysInfo); cout<<"Page Size: "<<sysInfo.dwPageSize<<'\n' << 阅读全文
posted @ 2012-05-04 15:58 刘军newhand_liu 阅读(424) 评论(0) 推荐(0) 编辑
摘要: 利用位图对数据进行排序。前提:待排数据不能有重复,且要能估计出待排数据值的上界(越精确效率越高)时间复杂度:设待排数据值上界为M,待排数据量为N,则时间复杂度为O(2M+N)c++实现代码:#ifndef BITMAP_SORT_H #define BITMAP_SORT_H //sort the array by bitmap, it demand all elements of src can't be repeated. const int WORD = 32; const int SHIFT = 5; //left shift 5 bits equal to mutiply 3 阅读全文
posted @ 2012-05-04 12:55 刘军newhand_liu 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 内存管理进程虚拟地址空间:分区、地址页的状态内存映射文件内存数据对齐写时复制虚拟内存页交换文件 阅读全文
posted @ 2012-04-30 13:42 刘军newhand_liu 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 小菜初学git,下面的都是个人总结,希望各位能不吝指教,多多指出我理解上的偏差,谢谢!git入门书籍:http://progit.org/book/版本控制系统,以前了解过cvs、svn,最近似乎git大有取代前者之势。经过初步的了解,才知道git和以前的版本控制系统有许多本质上的差别。版本控制系统的发展过程:单机版本控制系统(offline) ——集成式版本控制系统(online)——分布式版本控制系统(offline/online)集成式版本控制系统:cvs、svn都是这类。适合多人协作开发,项目仓库放在一个远端服务器上,服务器中保存所有的历史版本,每个人本地工作仓库只是远端服务器上该项目 阅读全文
posted @ 2012-04-23 14:51 刘军newhand_liu 阅读(193) 评论(1) 推荐(0) 编辑
摘要: 寄存器通用寄存器:ax、bx、cx、dx。在8086cpu中都是16位的,可拆分成两个8位的来用,如ax可分成al(低8位)、ah(高8位)段寄存器:cs(code segment)、ds(data segment)、ss(stack segment)、es(external segment)可用于内存单元寻址的寄存器:bx、bp、di、si,其中bx、di、si段地址默认在ds中,bp的段地址默认在ss中直接寻址:不使用寄存器。[idata],idata是一个常数,在编写汇编代码时需要添加段前缀,否则编译器会将[idata]解释成一个数据,而不是内存偏移地址。 如:d... 阅读全文
posted @ 2012-04-20 16:34 刘军newhand_liu 阅读(591) 评论(0) 推荐(0) 编辑
摘要: 数据结构与算法http://blog.csdn.net/v_july_v/article/details/6543438http://www.cppblog.com/converse/archive/2009/10/31/99886.htmlwindows内存管理http://blog.chinaunix.net/uid-22562725-id-3079861.html游戏云风:http://blog.codingnow.com/ 阅读全文
posted @ 2012-04-20 15:19 刘军newhand_liu 阅读(129) 评论(0) 推荐(0) 编辑
摘要: B树的定义一棵B树T是具有如下性质的有根树(根为root[T]):1)每个结点x有如下域: a)n[x],当前存储在结点x中的关键字个数; b)n[x]个关键字本身,以非降序存放,因此key1[x]≤key2[x]≤…≤keyn[x][x]; c)leaf[x],是一个布尔值,如果x是叶子结点的话,则它为TRUE,如果x为一个内结点,则它为FALSE。2)每个内结点x还包含n[x]+1个指向其子女的指针c1[x],c2[x],…,cn[x]+1[x]。叶结点没有子女,故它们的ci域无定义。3)各关键字Keyi[x]对存储在各子树中的关键字范围加以分隔:如果ki为存储在以ci[x]为... 阅读全文
posted @ 2012-04-20 13:12 刘军newhand_liu 阅读(1366) 评论(0) 推荐(0) 编辑
摘要: Google C++编程风格指南(一)背景Google的开源项目大多使用C++开发。每一个C++程序员也都知道,C++具有很多强大的语言特性,但这种强大不可避免的导致它的复杂,这种复杂会使得代码更易于出现bug、难于阅读和维护。本指南的目的是通过详细阐述在C++编码时要怎样写、不要怎样写来规避其复杂性。这些规则可在允许代码有效使用C++语言特性的同时使其易于管理。风格,也被视为可读性,主要指称管理C++代码的习惯。使用术语风格有点用词不当,因为这些习惯远不止源代码文件格式这么简单。使代码易于管理的方法之一是增强代码一致性,让别人可以读懂你的代码是很重要的,保持统一编程风格意味着可以轻松根据“模 阅读全文
posted @ 2012-04-19 16:27 刘军newhand_liu 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 第一次面试经历:公司:2012腾讯暑假实习生岗位:软件开发-游戏开发方向过程:笔试——一面——二面(被刷,原因是水平不够)笔试主要考的是C++、算法和数据结构的基础,还有一些数学题目,比如排列组合方面的。我的笔试成绩是59,应该算是中上等。一面首先是惯例-自我介绍,我当时非常紧张,不过面试官很随和,让我不用紧张,很感谢他。接下来面试官根据我的自我介绍、简历来提问,所以一定要在这两个里面展示自己的特长。我写的是C++、算法和数据结构基础比较扎实,所以面试官问了一系列这方面的知识,问得不是很深,还让我当场写了快排算法,所以我觉得一面主要是考查基本功的。接下来又问了我以前做过的一下游戏相关的小项目, 阅读全文
posted @ 2012-04-19 12:48 刘军newhand_liu 阅读(164) 评论(0) 推荐(0) 编辑