- 博客(56)
- 资源 (18)
- 收藏
- 关注
原创 cin/cout流对象为什么可以作为条件表达式?
相信对于C++标准I/O库问题始终在很多人心里留有疑问,近来因为需要特意去重新了解了关于I/O库的知识。现在跟大家分享一点,C++中的初学者很熟悉但很迷茫的一个问题,以下所写只是个人见解权当作记忆。相信很多人都遇到过这样的例子:string str;while( cin >> str ) cout
2013-01-15 16:56:19
3267
5
转载 Linux下C程序进程地址空间布局
我们在学习C程序开发时经常会遇到一些概念:代码段、数据段、BSS段(Block Started by Symbol) 、堆(heap)和栈(stack)。先看一张教材上的示意图(来源,《UNIX环境高级编程》一书),显示了进程地址空间中典型的存储区域分配情况。 从图中可以看出:从低地址到高地址分别为:代码段、(初始化)数据段、(未初始化)数据段(BSS)
2012-12-01 01:53:54
677
转载 Linux 静态库与动态库搜索路径设置
1. 连接和运行时库文件搜索路径到设置 库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的。一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使用这两个目录中的库时不需要进行设置搜索路径即可直接使用。对于处于默认库搜索路径之外的库,需要将库的位置添加到库的搜索路径之中。设置库文件的搜
2012-11-29 13:48:21
801
转载 Pragma
Pragma是什么?翻译:Rogers后附英文原文。(译者注:一句话,pragma就是为了让编译器编译出的C或C++程序与机器硬件和操作系统保持完全兼容而定义的宏扩展,#pragma是和特定编译器相关的。)两部分:1.Pragma说明;2.Pragma的语法。一、Pragma说明(Directives)C和C++程序的每次执行都支持其所在的主机或
2012-11-22 16:12:12
550
转载 Valgrind
valgrind [valgrind-options] [your-program] [your-program-options]valgrind的底层模拟了一个核心,即一个软件模拟的CPU,被调试的程序就是运行在这个假核心上,此外还包含一系列调试工具。它的工具运行依赖于底层的核心,由于是模块化架构,工具可单独开发,只要与核心的版本匹配即可。它的默认工具是memcheck,通过--tool
2012-11-03 20:14:25
799
转载 vim文件浏览和缓冲区浏览
本节所用命令的帮助入口::help netrw-browse:help bufexplorer:help winmanager 如阅读需要更多帮助,可以阅读vim官方中文文档7.3[文件浏览]在开发过程中,经常需要查找某个文件。我们前面在介绍path选项时,介绍过使用find命令查找文件的方法。本节介绍VIM的文件浏览插件。在VIM 7.0以前,
2012-07-18 14:41:57
2565
转载 去除虚拟机Linux的报警声
Vmware上装的Linux,在Shell下由于输错命令或是种种原因,会发出“嘟嘟”的报警声,并不是声卡发出的,而是主板的报警,所以不能通过关闭音箱来解决。寝室里经常响起这样的声音非常刺耳,今天在网上找到了解决方法,记下: 将/etc/inputrc中的set bell-style none 前的#去掉,之后重启系统即可。 不过这种方法试了并不见效,不过思路是对了,bell-s
2012-06-29 22:35:47
820
转载 c++对象切割
当把一个派生类对象赋给一个基类对象时,会发生对象切割。(另外用基类对象强制转换派生类对象也会)对象切割会发生什么呢?[cpp] view plaincopy#include using namespace std; class CShape { public: CShape ()
2012-03-26 15:26:38
508
转载 VS2008下编译BOOST 1.39的ASIO库
由于全部编译BOOST库需要的时间太长,而且耗费空间,况且我只需要用ASIO库,所以就没有必要全部编译了。bjam --show-libraries 可以看见需要编译的库的名称boost库到www.boost.org上下载。编译很简单,假设你的boost存放的目录是D:/BOOST_139。1.运行VS2008的命令提示行,进入D:/BOOST_139/tools/jam;执行
2012-03-14 17:16:53
541
转载 Linux下解压命令大全 解压缩 tar bz2 zip tar.gz gz
Linux下解压命令大全 解压缩 tar bz2 zip tar.gz gz2008年05月25日 星期日 下午 04:57大致总结了一下linux下各种格式的压缩包的压缩、解压方法。但是部分方法我没有用到,也就不全,希望大家帮我补充,我将随时修改完善,谢谢!整理:会游泳的鱼来自:www.LinuxByte.net最后更新时间:2005-2-20.tar
2012-03-09 14:51:10
626
转载 FastDFS 配置文件详解
昨天开始对学习FastDFS, 通过和版主的聊天 对它进行了些了解,坚持交流进步的目的,现在对配置文件进行中文理解性的转译,小弟不才,错误的地方希望版主和各为达人指出,提出的问题望各位解答(贴子是在晚上吃饭前赶出来的,写的很粗槽,以后可以帮大家整理,写成标准的说明什么的首先是 tracker.conf# is this config file disabled# false f
2012-02-29 18:10:54
926
转载 GCC 命令行详解 -L 指定库的路径 -l 指定需连接的库名
1。gcc包含的c/c++编译器gcc,cc,c++,g++,gcc和cc是一样的,c++和g++是一样的,(没有看太明白前面这半句是什么意思:))一般c程序就用gcc编译,c++程序就用g++编译2。gcc的基本用法gcc test.c这样将编译出一个名为a.out的程序gcc test.c -o test这样将编译出一个名为test的程序,-o参数用来指定生成程序的名
2012-02-26 16:37:23
596
转载 Hadoop通过C的API访问HDFS
在HADOOP_HOM下通过ant compile-c++-libhdfs -Dislibhdfs=true(ant是类似于make的工具,主要应该与java,利用build.xml问价),产生libhdfs.so或者在HADOOP_HOME/src/c++/libhdfs执行:①./configure --enable-shared JVM_ARCH=tune=k8 --prefix=`
2012-02-24 13:57:41
3072
转载 通过硬盘安装linux的方法
所需工具列表1、grub for dos http://file.mofile.com/ 的提取码是93125036401075662、kernel-devel2.6.25-14.fc9.i686.rpm 同样是魔方网的提取码是 8018019607590521 或是提取文件连接 http://pickup.mofile.com/80180196075905213
2012-02-09 10:56:55
672
转载 MooseFS 分布式文件系统的部署与应用
mooseFS简介MooseFS正式的推出是在2008-05-30,到2009-10-12为止,最新的版本是1.5.12。 MFS是一款网络分布式文件系统。它把数据分散在多台服务器上,但对于用户来讲,看到的只是一个源。MFS也像其他类unix文件系统一样,包含了层级结 构(目录树),存储着文件属性(权限,最后访问和修改时间),可以创建特殊的文件(块设备,字符设备,管道,套接字),符号链
2012-02-08 13:14:19
733
转载 Wu-Manber 经典多模式匹配算法
多模式匹配的用法,多了去了!DB中对selected patterns进行数挖;安全中对suspicious keyword进行匹配;各种日期形式2009-5-20,2009年5月20日,May,20的搜索;DNA配对;各种replace功能;等等,太口水了枚举这个。 Wu-Manber基于BM算法思想,如果您佬BM还没OK,请参照我的BM日志搞搞清楚先。 提到Wu
2012-01-12 16:57:02
774
转载 Boyer-Moore 经典单模式匹配算法
经典单模式匹配算法:KMP、BM;经典多模式匹配算法:AC、Wu-Manber。貌似实用中,KMP跟C库strstr()效率相当,而BM能快上3x-5x。于是小女不才花了小天的功夫来研究这个BM算法。BM如何快速匹配模式?它怎么跳跃地?我今儿一定要把大家伙儿讲明白了,讲不明白您佬跟帖,我买单,包教包会。模式,记为pat,用j作为索引; 文本,记为string(或text),用i作为索引。
2012-01-12 16:54:01
695
转载 同一进程中的线程究竟共享哪些资源
线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 进程拥有这许多共性的同时,还拥有自己的个性。有了这些个性,线程才能实现并发性。这些个性包括: 1.线程ID 每个线程都有自己的线程ID,这个ID在本进程中是唯一的。进
2012-01-09 09:49:26
978
转载 数据结构——红黑树
红黑树一棵红黑树是指一棵满足下述性质的二叉搜索树(BST, binary search tree):1. 每个结点或者为黑色或者为红色。2. 根结点为黑色。3. 每个叶结点(NIL)都是黑色的。4. 如果一个结点是红色的,那么它的两个子节点都是黑色的(也就是说,不能有两个相邻的红色结点)。5. 对于每个结点,从该结点到其所有子孙叶结点(NIL)的路径中所包含的黑色结点数量必
2012-01-07 20:55:11
493
转载 ctime库函数的使用
本文探讨了C/C++中对日期和时间操作所用到的常用功能,并以大量的实例向你展示了#include 头文件中声明的各种函数和数据结构的详细使用方法.基本概念的理解:Coordinated Universal Time(UTC):世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT)比如,中国内地的时间与UTC的时差为东八区,表示为:UTC+8C
2012-01-06 13:10:51
15490
转载 编辑器,编译器,语言,库,连接器,汇编器......你搞清楚了吗?
语言:语言可以说是一个标准,定义了该语言的语法特性。我们通常的说的C++,Java是语言,是一套语法规律的集合。编译器:实现语言标准的一种产品。比如Borland C++ ,delphi pascal,gcc,mircosoft c++,intel c++等产品。这里产品在实现语言的同时,为了需要,都会或多或少的加入自己对语言标准的扩展。所以,编译器与语言标准的吻合度也成为衡量编译器的优劣程序
2012-01-05 10:41:12
2099
转载 STL 源码研读笔记(1)– auto_ptr
本文作者:campos 本文出处:http://www.mykernelspace.com (转载请保留此行,谢谢) 很久没上来写东西了,最近认真学习了一下C++,发现真是博大精深,以前可以说是白痴一个。当读到Template的时候,确实很好奇,因为自己确实想彻底弄清楚模板这块。看完后就想找个地方试试看自己看懂了没有,很自然的就想到了STL。STL确实是一个很实用的东西,最
2012-01-04 10:32:02
530
转载 二分查找算法
二分查找算法是在有序数组中用到的较为频繁的一种算法,在未接触二分查找算法时,最通用的一种做法是,对数组进行遍历,跟每个元素进行比较,其时间为O(n).但二分查找算法则更优,因为其查找时间为O(lgn),譬如数组{1, 2, 3, 4, 5, 6, 7, 8, 9},查找元素6,用二分查找的算法执行的话,其顺序为: 1.第一步查找中间元素,即5,由于5 2.寻找{6,
2012-01-02 18:24:59
380
转载 了解 Boost Filesystem Library
C++ 语言(实际上是 C++ 标准)的最常见问题之一是,缺乏定义良好的库来帮助处理文件系统查询和操作。由于这个原因,程序员不得不使用本机操作系统提供的应用程序编程接口(Application Program Interfaces,API),而这使得代码不能在平台之间移植。以下面的简单情况为例:您需要确定某个文件是否是 Directory 类型。在 Microsoft® Windows® 平台
2011-12-31 10:19:26
515
转载 windows遍历目录下所有文件
在windows中遍历目录下的所有文件主要是使用FindFirstFile和FindNextFile通过递归调用实现的,类似于Linux的opendir和readdir。 在MSDN中,FindFirstFile的声明如下:HANDLE FindFirstFile( LPCTSTR lpFileName, LPWIN32_FIND_DATA lpFindFi
2011-12-31 09:21:32
941
转载 传说中的c/c++经典网站
传说中的经典,有时间看看:C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。 1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C
2011-12-30 20:39:54
549
转载 学习使用rpm
1 概况英文原义:Redhat Package Manager 中文释义:RPM软件包管理器 注解:一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。与Dpkg类似。 RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,
2011-12-27 16:30:17
450
转载 ASCII/UNICODE/UTF8字符串互相转换的C++代码
这是一个我写的类,用来在这多种字符串之间转换,另外还有一些用于由.net支持的时候在.net字符串String^与标准C++字符串之间相互转换的函数。请原谅我为了复用将其放到了dbsoft这样一个命名空间中。下面是使用它的简单示例:#include #include #include using namespace std;#include using namespace
2011-12-24 00:10:28
2587
转载 五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT)[转载]
当Adobe、Microsoft、Sun等一系列巨头开始表现出对”开源”的青睐时,”开源”的时代即将到来!最初来自:sinoprise.com/read.php?tid-662-page-e-fpage-1.html(遗憾的是这个链接已经打不开了),我基本未改动,只是进行了一些排版和整理。参考文献:http://www.fsf.org/licensing/licenses/现今
2011-12-23 13:24:59
436
转载 关于枚举
enum 关键字用于声明枚举,即一种由一组称为枚举数列表的命名常量组成的独特类型。通常情况下,最好是在命名空间内直接定义枚举,以便该命名空间中的所有类都能够同样方便地访问它。但是,还可以将枚举嵌套在类或结构中。默认情况下,第一个枚举数的值为 0,后面每个枚举数的值依次递增 1。例如:复制enum Days {Sat, Sun, Mon, Tue, Wed
2011-12-23 10:28:04
568
转载 在VC下执行DOS命令并得到输出(转)
转自:http://blog.youkuaiyun.com/zhb117/article/details/5610076 a. system("md c://12"); b. WinExec("Cmd.exe /C md c://12", SW_HIDE); c. ShellExecute ShellExecute(NULL,"open","d://WINDOW
2011-12-23 09:30:45
462
转载 c语言 printf()输出格式控制
[学习笔记--Printf()输出格式控制] hzh-fa 发表于 2006-8-12 12:26:001.转换说明符 %a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99) %c 字符 %d 有符号十进制整数 %f 浮点数(包括flo
2011-12-22 15:57:15
444
转载 磁盘文件的正常读写与异步读写
在Win32系统下文件可以支持平常的同步读写和异步读写(但在Win9X下,Win32系统不支持磁盘文件的异步读写)。本节在后面部分将会介绍文件的异步读写,最后一段内容将向大家讲解一下文件的区域加锁。在Win32系统中支持64位长度的文件,所以在很多文件操作函数中需要两个DWORD参数来表示文件长度,一个DWORD用来表示低32位,另一个用来表示高32位。文件的读写进行在文件被正确打开后,但
2011-12-22 14:40:52
556
转载 用MFC实现串口编程
龚建伟评论:本文既写了在Windows中怎样用VC控件MSComm,又说明了API技术编程方法,在写用MSComm控件时,数据类型的转换说得不是太明白,初次涉猎串口编程的朋友恐怕看了还是编不出来;直接从底层编写的部分值得一读,说得较为详细,但你得先从VC教本上看一看什么是线程。目次:(目次添加:龚建伟)一.串行通信的基本原理 二.串口信号线的接法 三.16位串
2011-12-22 14:19:11
645
转载 CreateNamePipe
Dim hReturn As Long Dim dwOpenMode As Long, dwPipeMode As Long dwOpenMode = FILE_FLAG_OVERLAPPED Or PIPE_ACCESS_DUPLEX dwPipeMode = PIPE_N
2011-12-22 13:35:37
1149
转载 线程终止滥谈
摘自windows核心编程:6.5 终止线程的运行若要终止线程的运行,可以使用下面的方法:• 线程函数返回(最好使用这种方法)。• 通过调用ExitThread函数,线程将自行撤消(最好不要使用这种方法)。• 同一个进程或另一个进程中的线程调用TerminateThread函数(应该避免使用这种方法)。• 包含线程的进程终止运行(应该避免使用这种方法)。
2011-12-22 13:14:07
609
转载 如何提高多文件读写速度
文件操作是应用程序最为基本的功能之一,在Linux下,采用申请虚拟内存的方法,可以申请到2g以上的内存,但是能操过3g-程序本身所占内存大小。在Windows2000中,一般能申请1g以上的内存,不能超过2g-程序本身所占内存大小。经过特殊配置,windows2000可以申请到与linux相同的数量的内存。不过具体能够申请多少内存,还要开虚存空间中最大的连续地址空间是多大。同时,能够申请到的内存数
2011-12-19 10:59:53
1737
转载 标准输入、标准输出究竟是什么?
对于一个运行的程序,不可避免地要进行某些输入输出操作,也即I/O操作.对于I/O操 作,C语言提供了一系列标准I/O函数,来完成输入输出任务.最主要的标准I/O函数包括:fopen()(打开一个文件),fprintf()(写文件),fscanf()(读文 件).读写一个文件的步骤为:打开文件,同时得到指向文件的指针,然后以该指针为参数, 调用相应的读,写函数进行文 件读写.例如:若
2011-12-19 10:28:32
1394
转载 Linux shell I/O重定向详解
1、 基本概念(这是理解后面的知识的前提,请务必理解) a、 I/O重定向通常与 FD有关,shell的FD通常为10个,即 0~9; b、 常用FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),默认与keyboard、monitor、monitor有关; c、 用 d、 用 > 来改变送出的数据信道(stdout, stde
2011-12-19 10:11:06
477
转载 Apache数组分析
数组概述 数组是Apache中最经常也是最普通的数据结构,尽管C语言中已经提供了一定的数组功能,但是C语言数组运用到Apache中还存在下面的一些问题: (1)、C语言中的数组在定义的时候就必须确定维数目,一旦确定,其长度就不可更改。但是Apache中很多情况并不知道数组中能够保存的最大数目,如果预定义的太大,可能会浪费过多的空间;定义的太小又可能不能满
2011-12-18 15:00:51
525
Vim 中文手册完整版(7.4) 自带索引
2017-04-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人