[翻译]Berkeley DB 文档 - C++入门篇 - 1.3节 - 访问方式(Access Methods)
[翻译]Berkeley DB 文档 - C++入门篇 - 1.3节 - 访问方式(Access Methods) Access Methods 访问方式 While this manual will focus primarily on the BTree access method, it is still useful to briefly describe all of the acce ...
SPWebServer:一个基于 SPServer 的 web 服务器框架
看到这个题目,估计很多人会问:为什么要再实现一个 web 服务器? 这里有几个原因: 1.这是一个 web 服务器框架,不是一个完整的 web 服务器。也就是说 SPWebServer 提供的是一套 API 和类库,可以方便地集成到现有的应用程序中。可以称 SPWebServer 为 embedded web server 。 2.有些时候,我们需要的不是一个功能强大完整的 web 服务器(例 ...
[意译]Berkeley DB 文档 - C++入门篇 - 1.2节 - Berkeley DB 概述
[意译]Berkeley DB 文档 - C++入门篇 - 1.2节 - Berkeley DB 概述 译者序(转载 -- Berkeley DB简介): Berkeley DB是由美国Sleepycat Software公司开发的一套开放源码的嵌入式数据库的程序库(database library),它为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。Berkeley DB为数据 ...
C++ std名字空间ostream_iterator与的诡异问题
为了方便显示map而自定义的两个函数,出现了一个诡异的问题,感谢jinq0123@163.com告之解决方法,但是我对问题的原因还是不太清楚. 这里的Blog好像有问题,我把<该为了《........................ cpp 代码 #include 《map》 #include 《string》 #include 《iterator》 #include 《i ...
站在巨人肩上的思考[连载] (6)
第4章 类型和声明 4.3 字符类型 “由8bits表示的256个值可以解释为0~255,或者解释为-128~127,不幸的是,普通char类型选择那种解释是由具体实现决定的”[1] 所以,不要做过多的假设。如果你必须这样做,请使用显式的signed char或者unsigned char来声明变量。 4.4整数类型 “unsigned整数类型对于存储二进制bit数组的使用方式非常理想。但是,如 ...
站在巨人肩上的思考[连载] (5)
最近做个小项目,有点忙。事情倒是不难,就是有点杂,涉及到好多的东西,还得现找资料。这次又学习了远程数据库和rpc的编程,都挺有意思的,有时间和大家交流一下,不知道斑竹允不允许在本版讨论这些乱七八糟的东西,呵呵。 估计这周项目会结案,争取多多更新。:) 祝贺圈子朋友达到100人,希望我们这里越来越热闹! 本笔记首发www.iteye.com 转载请注明出处。谢谢。 //--------------- ...
站在巨人肩上的思考[连载] (4)
首先感谢 spinach 的鼓励与支持。你给了我很大的动力,真诚的希望我的文字能够对你有所帮助。 这篇之后可能周末前不会再更新了,因为手头上有个项目需要集中精力先搞定。 本笔记首发www.iteye.com 转载请您注明出处。谢谢。 -- Gavin //----------------------------------------------------------------------- ...
站在巨人肩上的思考 [连载] (3)
上一篇中,主要是对C++类设计的一个概览。如果你认为那写得很肤浅,并能明确指出问题所在,那么恭喜你,可以说,你对C++的类机制有了更深入的了解! 这并不是说上篇笔记中有什么错误,前文仅仅就B.S.概述当中的某几句进行了适当的联想,但不能说全面、深入。其中提及的好多思想,方法只是针对C++类设计当中的类别:“具体类”的设计与实现。其他诸如层次结构的、多态的、范型的设计实现方法,可能不在此限,因为 ...
站在巨人肩上的思考 [连载] (2)
1.3 C++的设计 tips: "If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would detroy civilization." -- Gerald Weinberg ------------------ ...
vc7.1 编译 boost 1.33.1
vc7.1 boost 1.33.1 python 2.4.4 icu 3.4.1 没有使用stlport 编译regex 启用了icu 支持。 boost文档中显示用icu 3.3。 结果有3.2 3.4没有3.3 1 先编译 icu 3.4.1 2 设置环境变量 ICU_PATH/bin 加入path bjam.exe 加入 path set BOOST_BUILD_PATH=D ...
站在巨人肩上的思考 [连载] (1)
[原创。欢迎复制。转载请您注明出处 -- Gavin] Tips: Correctness, simplicity, and clarity come first. 序言: 2006年圣诞节这天,我终于买来了传说中的《The C++ Programming Language》这本Bjarne Stroustrup亲自撰写的著作。在此之前,也曾读过一些其它经典系列,但细细品读了该书的第一、二章,掩卷 ...
高质量软件设计指南-C++/C(第二版)摘要
第五章 C++/C程序设计入门 C++标准对main函数有几个不同于一般函数的限制: (1)不能重载;(2)不能内联;(3)不能定义为静态的;(4)不能取其地址;(5)不能由用户直接调用; int a ; //在C中为声明,在C++为定义 在C++/C中,全局变量(extern 或 static)存放在程序的静态数据区中,在程序进入main之前创建,在main结束之后销毁,因此我们的代码没有 ...
vc6 上安装stlport和boost库
1 vc 6 sp5补丁 预处理补丁 python2.2.3 stlport4.5.3 boost1.3.0.2 2 使用stlport的iostream,boost.python编译失败 如果禁用stlportt的iostream,boost.regex编译失败 选择boost1.3.0.2的原因: 从 http://engineering.meta-comm.com/boos ...
C++Primer(第四版)摘要
第一章 快速入门 main函数的返回值必须是int型。 在写C++程序时,大部分出现空格的地方可用换行符答题,但字符串字面量中的空格例外。另一个例外是空格不允许出现在预处理器指示中。 任何允许有制表符、空格或换行的地方都允许放注释对。 第二章 变量和基本类型 基本类型:bool, char, wchar_t, short, int, logn, float, double, long doub ...
初学c++,基础问题,希望各位帮我解答以下。
最近在学习c++,看thinking in c++,看到第二章。书上的一些代码看不懂,请各位指教。 #include <iostream> #include <fstream> #include <vector> using namespace std; int main() { vector<string> v; ifstream in(" ...
half-sync/half-async 和 Leader/Followers 模式的主要区别
在 《POSA2》 一书中,关于这两个模式有两个很形象的比喻: 半同步/半异步(half-sync/half-async): 许多餐厅使用 半同步/半异步 模式的变体。例如,餐厅常常雇佣一个领班负责迎接顾客,并在餐厅繁忙时留意给顾客安排桌位,为等待就餐的顾客按序排队是必要的。领班由所有顾客“共享”,不能被任何特定顾客占用太多时间。当顾客在一张桌子入坐后,有一个侍应生专门为这张桌子服务。 领导者/ ...
SPServer : 一个基于线程池(包括HAHS和LF)的高并发 server 框架
spserver 是一个实现了半同步/半异步(Half-Sync/Half-Async)和领导者/追随者(Leader/Follower) 模式的服务器框架,能够简化 TCP server 的开发工作。 spserver 使用 c++ 实现,目前实现了以下功能: 1.封装了 TCP server 中接受连接的功能; 2.使用非阻塞型I/O和事件驱动模型,由主线程负责处理所有 TCP 连接上的数据读取 ...
C++0x草案将于年内发表,C++即将重大升级
C++标准委员会主席Herb Sutter在最新的Blog里透露,C++0X的草案将很有可能在07年10月完成。这意味着“标准C++ 2.0”即将露出庐山真面目。 Sutter在这篇文章里描述了C++0x的几个重大进展: 1. 库增强:标准库TR1和TR2中的库增强组件; 2. 垃圾收集:符合C++0x的编译器必须提供垃圾收集器; 3. Concept:可简化泛型程序的开发; 4. 并发 ...
spxml:使用 state pattern 实现 xml pull/dom parser
spxml 是一个实现了 pull 和 dom 两种解释模型的 xml 解释器。 spxml 使用 c++ 实现,除系统库之外,不依赖第三方库,目前实现了以下功能: 1.实现了 xml pull parser 的功能; 2.基于 xml pull parser 构造一个 dom tree; 3.能够对 dom tree 进行修改; 4.能把 dom tree 重新序列化为一个字符流; 5.处于底层 ...
C++ Questions
1.分析以下代码的执行结果 #define macro1(a) #a #define macro2(a,b) a##b int x = 3; int y = 4; int xy = 10; cout << macro1(xy) << endl; cout << macro2(x,y) << endl; ...
C++拷贝构造函数的几个细节
拷贝构造函数是C++最基础的概念之一,大家自认为对拷贝构造函数了解么?请大家先回答一下三个问题: 1. 以下函数哪个是拷贝构造函数,为什么? X::X(const X&); X::X(X); X::X(X&, int a=1); X::X(X&, int a=1, b=2); 2. 一个类中可以存在多于一个的拷贝构造函数吗? 3. 写出以下程序段的 ...
对C++异常一些深入的讨论
异常 1. goto, break, return, continue和异常 在try块内部, goto, break, return, continue 可以用来转移程序流程, 当这种情况发生时, 在try块内声明的所有变量都会被释放掉. cpp 代码 lab: try { T1 t1; try { T2 t2; if(condition) goto lab; ...
《Essential c++中文版》读书笔记--静态局部变量(一)
今天碰到一个局部静态变量的作用域的问题。有些诱惑,所以回去上机实践了以下,总结如下: cpp 代码 #include <stdio.h> int* f1(int i) { static int s = 2; //局部静态变量,其只在本函数之内存在。但又与局部变量相区别,其在离开函数时并不消失 s = s +i; return &s; // ...
关于学习操作系统编程
写这篇是因为simohayha在C++圈子里的留言: simohayha 写道 希望圈子能专门开个报道贴,置顶的。 然后就是不知道老大们对linux源码了解多少?希望能就此发些文章,哈哈。 本来是想在留言里面回simohayha的,结果越写越多,改成博客算了,也许对别人也有帮助。没什么中心思想,大家胡乱看看。 我在读大学的时候是努力试图学习过linux源码的,在机房里打印出厚厚一叠纸,闷在计 ...
C++ 优秀图书一览
1.The C++ Programming Language, by Bjarne Stroustrup, Speical 3rd edition,Addison Wesley 多谢wzgame指正,改过来了。 这是C++创始人B教主之力作,描述C++语言之经典一书。这本书第三版是97年出的,B教主老人家给这本书开了个网页http://www.research.att.com/~bs/3rd ...
对动静态语言的语义思考,再兼谈点其它的
在参与这个讨论http://www.iteye.com/topic/33971后,这段时间对这个话题有了一些新的思考,写下来和大家分享分享。 重点探讨一下动静态编程语言的语义,兼带些DSL及通用语言,以及新手上手难易问题。 编程语言的语义,在论坛里讨论不多。在这里先分析一下几门主流静态语言,C,C++,Java,C#的语义。这些语言从编程风格角度讲,都称之为”imperative program ...
程序64位化带来的问题和思考
公司的一个产品需要转移到了Windows Vista 64上去,由于程序某一部分和Windows的一个AP紧密相连,而这个Windows AP已经64位化了,不得不将自己的程序也转到64位. 我原来不是负责这个产品的,由于项目很赶,所以被零时抽调去帮忙,遇到了一些问题,这里和大家分享下. 1. 指针和long的转换 这是最基本的处理部分,由于32位系统下地址是32位,所以很多代码里都会存在这样的转换 ...
Dmd编译器学习笔记
Dmd编译器学习笔记 英文原文在这里: http://digitalmars.com/d/dcompiler.html 在这里有一篇翻译文章: http://sofire.iteye.com/blog/111667 不过,主要是关于windows的;我更关心Linux下的使用。 顺便看看两者有啥区别。 相关文件 注意: Linux的dmd配置文件是dmd.conf Windows的配置文件是s ...
Ddoc文档注释学习笔记
Ddoc学习笔记 ddoc的英文文档在: http://www.digitalmars.com/d/ddoc.html D语言可以在代码中嵌入文档注释(以下称文档)。 它不仅仅是注释,而且还是一段可供阅读的文档。 这样做的好处是,在开发、维护代码的时候,就能同时维护文档。 对于程序员,写文档比写代码还痛苦;写注释倒是一个大家还可以接受的事情。 在写代码的时候,顺便把文档写了,也许能改善一下文档不 ...
Build编译工具学习笔记:常用命令参数和BRF文件
build工具的主页在:http://www.dsource.org/projects/build 它以前叫 bud,所以这里混用 bud 和build,都指的同一个东西 build是D语言的编译工具,相当于C的make命令。 但它更简单且好用,因为它能处理 import 语句,自动载入依赖的文件。 看过本文后,基本上可以使用了。 如果你想用它的高级功能,当然还得花时间去研究它。 build 会 ...