摘要: http://www.ibm.com/developerworks/cn/linux/l-cn-gpb/?ca=drs-tp4608简介什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍:Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或 阅读全文
posted @ 2011-12-13 17:13 rookieeeeee 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复。最简单的方法当然是借助于专业的检测工具,比较有名如BoundsCheck,功能非常强大,相信做C++开发的人都离不开它。此外就是不使用任何工具,而是自己来实现对内存泄露的监控,分如下两种情况:一. 在 MFC 中检测内存泄漏假如是用MFC的程序的话,很简单。默认的就有内存泄露检测的功能。我们用VS2005生成了一个MFC的对话框的程序,发现他可以自动的检测内存泄露.不用我们做任何特殊的操作. 仔细观察,发现在每个CPP文件中,都有下面的代码:#ifdef_DEBUG#definenewDEBUG_NEW 阅读全文
posted @ 2011-12-13 16:11 rookieeeeee 阅读(183) 评论(0) 推荐(0) 编辑
摘要: Vs 2008 解决方案的目录结构设置和管理http://hi.baidu.com/50254147/blog/item/d65f9316a7264404c83d6d64.html2010-06-13 11:11解决方案与项目:从VC6之后VC系列就使用解决方案(Solution)来替代原来的工作空间,用于组织和管理多个相关的项目(Project)。文章首先演示一个虚拟的解决方案和我们期望得到的目录结构,然后使用VC2008的项目设置功能来一步一步达到我们的需求。虚拟解决方案:该虚拟解决方案名为GMA,包含一个动态链接库项目ChocolateMilk和一个应用程序项目PureMilk,需要使用 阅读全文
posted @ 2011-12-09 14:24 rookieeeeee 阅读(203) 评论(0) 推荐(0) 编辑
摘要: http://www.52rd.com/blog/Detail_RD.Blog_sunhuibo_5025.html#pragma 预处理指令详解 (2006-12-5 15:33)在所有的预处理指令中,#pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #pragma para 其中para为参数,下面来看一些常用的参数。 (1)mess... 阅读全文
posted @ 2011-12-08 15:50 rookieeeeee 阅读(214) 评论(0) 推荐(1) 编辑
摘要: C/C++ code//这么写#include<iostream>#include<string>#include<windows.h>usingnamespacestd;int main(intargc, CHAR*argv[]) { LPTSTR lp="ddd";string str=(string)lp;cout<<str<<endl;system("pause");return0; }这个对! string str="dddd"; LPTSTR lp=const_c 阅读全文
posted @ 2011-12-06 13:57 rookieeeeee 阅读(7264) 评论(0) 推荐(0) 编辑
摘要: 关于assert、_ASSERTE、_ASSERT的一些问题2009-06-28 20:45:09|分类: C++中的几个技巧 |标签: |字号大中小订阅assert - 断言 编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真。可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言,而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新起用断言。#include "assert.h"#include "crtdbg 阅读全文
posted @ 2011-12-06 11:07 rookieeeeee 阅读(3123) 评论(0) 推荐(0) 编辑
摘要: 关于静态成员函数,可以总结为以下几点:出现在类体外的函数定义不能指定关键字static;静态成员之间可以相互访问,包括静态成员函数访问静态数据成员和访问静态成员函数;非静态成员函数可以任意地访问静态成员函数和静态数据成员;静态成员函数不能访问非静态成员函数和非静态数据成员;由于没有this指针的额外开销,因此静态成员函数与类的全局函数相比速度上会有少许的增长;调用静态成员函数,可以用成员访问操作符(.)和(->)为一个类的对象或指向类对象的指针调用静态成员函数,也可以直接使用如下格式:<类名>::<静态成员函数名>(<参数表>)调用类的静态成员函数。静态数据成员有以下特点:对于非静态数据 阅读全文
posted @ 2011-12-06 10:38 rookieeeeee 阅读(174) 评论(0) 推荐(0) 编辑
摘要: #include <stdio.h>#include <afx.h>#include <string>#include <iostream>#include <vector>#include <algorithm>#include <afx.h>#include <boost/format.hpp>using namespace std;using namespace boost;int main(){CStringArray vszExample;vszExample.Add(_T("除 阅读全文
posted @ 2011-12-05 13:42 rookieeeeee 阅读(165) 评论(0) 推荐(0) 编辑
摘要: #include <iostream>#include <string>#include <vector>#include <algorithm>using namespace std;int main(){vector<int> nTestNum;for (int i = 0; i <= 10; i++){nTestNum.push_back(i);}// cout<<nTestNum.at(2)<<endl// <<nTestNum.at(1)<<endl// << 阅读全文
posted @ 2011-12-04 22:13 rookieeeeee 阅读(117) 评论(0) 推荐(0) 编辑
摘要: #include <iostream>#include <string>using namespace std;int main(){// string a("fuck");// string b(a,2);// char str[] = "wonderful";// string c(str+3,str+6);char a[10] = "greatful";char *p = a;cout<<p<<endl;cout<<*p<<endl;p++;cout< 阅读全文
posted @ 2011-12-04 14:42 rookieeeeee 阅读(102) 评论(0) 推荐(0) 编辑