
c/c++
文章平均质量分 74
inter999
哼哼哈黑
展开
-
HPUX 安装CVS 问题解决
下午,质量经理让我帮忙在一台hp机上安装cvs,那就装吧。我说,把安装文件给我,他说,hp的安装文件得自己去网上找?嗯?CVS的安装文件不是跨平台的? 他说,不是...真晕,那就自己去找吧。先登到hp机上看一下型号,uname -aHP-UX epmbank2 B.11.23 U ia64 3722782597 不限用户数的许可证呀,是安腾64位的。还真是不好找,最后还是在原创 2008-07-03 16:35:00 · 2460 阅读 · 1 评论 -
考察数据结构——第二部分:队列、堆栈和哈希表[译]
本文是"考察数据结构"系列文章的第二部分,考察了三种研究得最多的数据结构:队列(Queue),堆栈(Stack)和哈希表(Hashtable)。正如我们所知,Quenu和Stack其实一种特殊的ArrayList,提供大量不同类型的数据对象的存储,只不过访问这些元素的顺序受到了限制。Hashtable则提供了一种类数组(array-like)的数据抽象,它具有更灵活的索引访问。数组需要通过序数进行转载 2008-07-02 14:01:00 · 630 阅读 · 0 评论 -
c++函数对象
标准库里的count_if可以统计容器中满足特定条件的元素的个数。例如要统计一个整数vector——ivec中正数的个数,可以先写一个返回类型为bool,含有一个int参数的条件函数:bool pred(int val)...{ return val>0;}之后可以用count_if(ivec.begin(),ivec.end(),pred)计算出正整数的个数。但这个转载 2008-07-02 16:11:00 · 461 阅读 · 0 评论 -
平衡二叉树
这个恐怕是整个《数据结构》教科书里面最难的和最“没用”的数据结构了(现在的教科书还有部分算法内容)。说它没用,恰恰是因为它太有用——有着和普通的二叉搜索树完全一样的接口界面,绝大多数情况下比普通的二叉搜索树效率高(很多)。因此,通常情况下,人们都是一劳永逸的——写完后就重用,而不会再写了。所以说,你虽然学完了平衡二叉树,但很可能你永远也不会亲自写一个。你现在随便在身边拉个人,让他来写一个,能顺利的转载 2008-07-08 09:49:00 · 1814 阅读 · 0 评论 -
UNIX 共享内存应用中的问题及解决方法
各个 UNIX 平台对 System V 标准的 API 在实现上各有差异,由此对相关共享内存的应用开发方式带来影响,甚至引入难以调试的问题。本文将结合作者在 Tivoli 产品开发中的实际经验,对这些平台相关的问题,以及具有共性的问题,逐一进行分析,并提出解决方法。简介共享内存是一种非常重要且常用的进程间通信方式,相对于其它IPC机制,因其速度最快、效率最高,被广泛应用于各类软件产品转载 2009-02-10 13:34:00 · 874 阅读 · 0 评论 -
"operator new" 和"new operator "
内存管理(operator new与new operator)今天看了大名鼎鼎的Scott Meyers所著的〈effective c++〉和〈more effective c++〉中关于new和delete的介绍,惊讶不已,大师果然名不虚传,研究的如此细致、透彻,让我这个菜鸟受益非浅(窃喜,呵呵)。 在C++中new operator与operator new非一回事也,new op转载 2009-03-05 13:53:00 · 518 阅读 · 0 评论 -
libevent的一些知识
1、什么动作会触发EV_READ, 什么动作触发EV_WRITE?2、为什么connection_accept()的eventflag有EV_PERSIST,而connection_time的没有?通过查资料,终于搞明白了!在《UNIX网络编程第1卷(第2版)》第6章 “I/O 复用:select和poll函数”(129页),有解释:===============描述字符在什么条件下准备好?1、下转载 2009-03-06 11:27:00 · 1561 阅读 · 0 评论 -
分析Unicode和UTF-8
1、在中国,大陆最常用的就是GBK18030编码,除此之外还有GBK,GB2312,这几个编码的关系是这样的。最早制定的汉字编码是GB2312,包括6763个汉字和682个其它符号95年重新修订了编码,命名GBK1.0,共收录了21886个符号。之后又推出了GBK18030编码,共收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字,现在WINDOWS平台必需要支持GBK转载 2009-03-11 17:24:00 · 706 阅读 · 0 评论 -
iconv库的使用
GB2312字符串转换为UTF-8的字符串,代码如下:#include #include #include int main(void){ unsigned char *src = "魅影追击和歌姬"; /* 需转换的字串 */ unsigned char dst[256] = {0}; /* 转换后的内容 */ unsigned char buf[1024] = {0}; /转载 2009-03-11 17:27:00 · 1748 阅读 · 0 评论 -
offset 宏
&(((CPoint*)0)->y),不仅不会出错,而且还是成员变量y的地址偏移。 即它算出的是y在CPoint里的地址偏移量。 先把整数0通过类型转换(CPoint*)转换为指向CPoint类型的地址,然后把此地址开始的一段内存看作CPoint类型的数据,->y指出这个CPoint类型的数据里面的y成员,再通过&取这个成员的地址,由于起始地址是0,因此这个值就是y成员的偏移转载 2009-03-19 17:55:00 · 881 阅读 · 0 评论 -
虚析构函数
当通过基类的指针去删除派生类的对象,而基类又没有虚析构函数时,结果将是不可确定的; 因此,当确定一个类将做为基类时,需要把析构函数声明为虚函数。 在某些类里声明纯虚析构函数很方便。纯虚函数将产生抽象类——不能实例化的类(即不能创建此类型的对象)。有些时候,你想使一个类成为抽象类,但刚好又没有任何纯虚函数。怎么办?因为抽象类是准备被用做基类的,基类必须要有一个虚析构函数,纯虚函数会原创 2009-03-31 16:35:00 · 630 阅读 · 0 评论 -
关于HadoopMapReduce的精彩介绍
http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop1/ http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop2/ http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop3/转载 2009-04-15 18:00:00 · 754 阅读 · 0 评论 -
VC中利用多线程技术实现线程之间的通信
当前流行的Windows操作系统能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力。用进程和线程的观点来研究软件是当今普遍采用的方法,进程和线程的概念的出现,对提高软件的并行性有着重要的意义。现在的大型应用软件无一不是多线程多任务处理,单线程的软件是不可想象的。因此掌握多线程多任务设计方法对每个程序员都是必需转载 2009-04-03 17:33:00 · 623 阅读 · 0 评论 -
关于位图排序
输入: 一个包含n个正整数的文件,每个正整数小于n,n等于10的7次方(一千万)。并且文件内的正整数没有重复和关联数据。输出: 输入整数的升序排列 约束: 限制在1M左右内存,充足的磁盘空间 假设整数占32位,1M内存可以存储大概250000个整数,第一个方法就是采用基于磁盘的合并排序算法,第二个办法就是将0-9999999切割成40个区间,分40次扫描(10000000/250000转载 2009-04-15 16:27:00 · 2868 阅读 · 0 评论 -
Visual C++进程间数据通信的实现
在Windows系统中,各个应用程序(进程)之间常常需要交换、传递数据,这就要解决进程间的数据通信问题。在最初的16位Windows3.x系统中,所有Windows应用程序共享单一地址,任何进程都能够对这一共享地址空间的数据进行读写操作。随着Windwos98、WindowsNT、Windows2000等32位的操作系统的出现,规定每个进程都有自己的地址空间,一个Windows进程不能存取另一个进转载 2009-04-03 17:35:00 · 1029 阅读 · 0 评论 -
xerces-c++
http://www.ibm.com/developerworks/cn/xml/x-xercesperf/?S_TACT=105AGX52&S_CMP=tec-csdn转载 2008-07-01 15:08:00 · 465 阅读 · 0 评论 -
CVS使用
CVS 是一种客户机/服务器系统,可以让开发人员将他们的项目存储在称为资源库的中央位置。使用 cvs 客户机工具,开发人员可以对资源库的内容进行更改。CVS 资源库会依次记录对每个文件所做的每个更改,并创建一个完整的项目开发进展历史。开发人员可以请求特定源文件的旧版本、查看更改日志,并根据需要执行其它一些有用的任务。 许多开放软件项目都有他们自己的 CVS 服务器,项目开发人员把这些服务器作为原创 2008-07-01 14:38:00 · 683 阅读 · 0 评论 -
二叉树详解
这些天参与了优快云论坛的讨论,改变了我以前的一些看法。回头看我以前的东西,我虽对这本书很不满,但我还是按照它的安排在一点点的写;这样就导致了,我过多的在意书中的偏漏,我写的更多是说“这本书怎样”,而偏离了我写这些的初衷——给正在学习数据结构的人一些帮助。正像我在前面所说的,虽然现有的教科书都不是很合理,但如果仅仅是抱怨这点,那无异于泼妇骂街。虽然本人的水平连初级都够不上,但至少先从我做一点尝试,转载 2008-07-08 09:57:00 · 6918 阅读 · 1 评论 -
哈希质数序列
最近我在做一个项目,其中要用到一个数据结构——Hash Table(哈希表),以前只有理论知识,现在实却发现很不简单,所以写下来和大家共分享。我们知道,哈希表是一个固定大小的数组,数组的每个元素是一个链表(单向或双向)的头指针。如果Key一样,则在一起,如果Key不一样,则不在一起。哈希表的查询是飞快的。因为它不需要从头搜索,它利用Key的“哈希算法”直接定位,查找非常快,各种数据库中的数据结转载 2008-07-11 10:09:00 · 2770 阅读 · 0 评论 -
mmap详解
mmap函数是unix/linux下的系统调用,来看《Unix Netword programming》卷二12.2节有详细介绍。mmap系统调用并不是完全为了用于共享内存而设计的。它本身提供了不同于一般对普通文件的访问方式,进程可以像读写内存一样对普通文件的操作。而Posix或系统V的共享内存IPC则纯粹用于共享目的,当然mmap()实现共享内存也是其主要应用之一。 m原创 2008-06-10 18:07:00 · 753 阅读 · 1 评论 -
sizeof,终极无惑
0. 前向声明sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。菜鸟我对C++的掌握尚未深入,其中不乏错误转载 2008-06-10 11:24:00 · 501 阅读 · 0 评论 -
automake 项目管理
本文中使用的实例仍为《手动建立makefile简单实例解析》中的5文件工程实例。对于一个较大的项目而言,完全手动建立Makefile是一件费力而又容易出错的工作。autotools系列工具只需用户输入简单的目标文件、依赖文件、文件目录等就可以比较轻松地生成Makefile了。现在Linux上的软件开发一般都是用autotools来制作Makefile。autotools工具主要有:aclo转载 2008-06-17 14:51:00 · 669 阅读 · 0 评论 -
setuid介绍
一些有经验的Linux人员我相信都知道Linux权限中有一些不为人知的权限.了解了这些权限对以后更好管理服务器安全有很大的管理,下面我们就来谈谈. 相对于Windows系统的安全权限设置来说Linux安全权限设置相对来麻烦些..起码没有Win人性化..但也这无非这个RWX这三个权限的互相搭配 和使用,我相信大家都知道的..好,不知大家是否留意看/bin/su,/usr/sbin/passwd等转载 2008-06-15 22:18:00 · 2068 阅读 · 0 评论 -
shell语法
1.建立和运行shell程序什么是shell程序呢? 简单的说shell程序就是一个包含若干行shell或者linux命令的文件.象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等.在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整的程序文件.执行shell程序文件有三种方法(1)#chmod +x file(在/etc/pro转载 2008-09-04 16:04:00 · 1073 阅读 · 1 评论 -
Pro*C 预编译选项
1. 环境变量 Ø 系统运行需要配置以下内容 ORACLE_SID=ORA8 NLS_LANG=American_America.zhs16cgb231280 ORA_NLS33=/home/oracle/ocommon/nls/admin/data ORACLE_TERM=vt100 SHLIB_PATH=/home/oracle/lib LD_LIBR转载 2008-09-04 15:24:00 · 4480 阅读 · 0 评论 -
automake 手册
http://www.linuxforum.net/books/automake.html#SEC29 http://www.linuxforum.net/books/autoconf.html#SEC2转载 2008-06-17 14:56:00 · 616 阅读 · 0 评论 -
(经典)linux下c编程
linux操作系统下c语言编程入门整理编写:007xiong原文:Hoyt等(一)目录介绍1)Linux程序设计入门--基础知识 2)Linux程序设计入门--进程介绍 3)Linux程序设计入门--文件操作 4)Linux程序设计入门--时间概念 5)Linux程序设计入门--信号处理 6)Linux程序设计入门--消息管理 7)Linux转载 2008-06-13 13:21:00 · 2618 阅读 · 0 评论 -
GNU binutils笔记
ar ar用于建立、修改、提取档案文件(archive)。archive是一个包含多个被包含文件的单一文件(也称之为库文件),其结构保证了可以从中检索并得到原始的被包含文件(称之为archive中的member)。member的原始文件内容、模式(权限)、时间戳、所有着和组等属性都被保存在 archive中。member被提取后,他们的属性被恢复到初始状态。 ar主要用转载 2008-06-14 22:27:00 · 611 阅读 · 0 评论 -
如何判断是不是完全二叉树
#include#includeusing namespace std;struct SHAGUO{ char data; struct SHAGUO *lchild,*rchild;};typedef SHAGUO* bitree;void createtree( bitree &sh转载 2008-07-01 14:23:00 · 2450 阅读 · 1 评论 -
详细解说STL hash_map系列
详细解说STL hash_map系列 0 为什么需要hash_map 1 数据结构:hash_map原理 2 hash_map 使用 2.1 一个简单实例 2.2 hash_map 的hash函数 2.3 has原创 2008-07-02 15:33:00 · 530 阅读 · 0 评论 -
考察数据结构——第三部分:二叉树和BSTs[译]
原文链接:Part3: Binary Trees and BSTs 本文是"考察数据结构"系列文章的第三部分,讨论的是.Net Framework基类库没有包括的常用数据结构: 二叉树。就像线形排列数据的数组一样,我们可以将二叉树想象为以二维方式来存储数据。其中一种特殊的二叉树,我们称为二叉搜索树(binary search tree),简称为BST,它的数据搜索能力比一般数组原创 2008-07-02 14:57:00 · 886 阅读 · 0 评论 -
一种变进制数及其应用(全排列之Hash实现)
我们经常使用的数的进制为“常数进制”,即始终逢p进1。例如,p进制数K可表示为 K = a0*p^0 + a1*p^1 + a2*p^2 + ... + an*p^n (其中0 它可以表示任何一个自然数。对于这种常数进制表示法,以及各种进制之间的转换大家应该是很熟悉的了,但大家可能很少听说变进制数。这里我要介绍一种特殊的变进制数,它能够被用来实现全排列的Hash函数,并且该Hash函数能够转载 2009-04-09 15:27:00 · 2185 阅读 · 1 评论