在liunx下构建磁盘阵列(1)
如果你想实现一个 Linux 的软件磁盘阵列(以下简称 RAID 或 raid), 那么在开始前, 下面的这个最重要的网点是你应该首先去涉猎的: Linas Vepsta 的 raid 主页: http://linas.org/linux/raid.html 这篇文章发表的时间是 1998年10月29日, 目前已有的文档还不全, 比较混乱. 这篇文章就是澄清一些当你在实现 raid0 和 raid1 时会遇到的问题. 我想实现基于分散读写模式(striping)的镜像模式(mirroring). 分散读...
在liunx下构建磁盘阵列(2)
RAID1 基于内核 2.0.35 若想使用 raid1, 4 或 5, 你必须为内核打一个补丁, 它位于 ftp://ftp.kernel.org/pub/linux/daemons/raid/alpha/raid0145-19981005-c-2.0.35.tz。 拷贝到 /usr/src directory, 将补丁解压缩: tar -zxvf raid0145-19981005-c-2.0.35.tz 注意补丁将搜索 /usr/src/linux-2.0.35 目录. 如果你将 2.0.35 的...
将 Linux 配置为代理防火墙
Linux本身可以通过添加插座软件包起到代理防火墙的作用,而且,这一切都是免费的。 什么是代理防火墙 代理防火墙不让任何直接的网络流通过,而由它作为Internet和内部网络计算机之间的中间媒介。防火墙自己处理各种网络服务而不是只让它们直接通过。例如,登录到网络上的计算机请求一个Internet网页。计算机不直接链接到Internet网络服务提供的网页,而是连到自己网络的代理服务器上,代理服务器识别代理请求,然后以合适的方式传递给相应的Internet网络服务器。远程网络服务器视为来自防火墙服务器的正常...
新Linux 內核配置工具即將問世
根據Slashdot 報道:最新的Linux 內核配置工具----LinuxKernelConf 的開發工作以近尾聲,即將在近日推出。 從LinuxKernelConf 站點上可以得知 LinuxKernelConf 是一個用來取代常用的Linux配置系統CML1的產品。後者在使用當中出現了不少問題,而且維護系統本身也比較麻煩,擴展支持的語言也不容易。 在LinuxKernelConf 中最突出的改進在於採用了新的配置語法,對配置語言的解析也是唯一的。很多工具都可以建立在這種配置語法的基礎上。新穎的X...
C++再学习系列]:深入new/delete(3)
深入new/delete:类域的operator new重载 类域的 operator new 重载 为 class 重载 operator new 时必须定义为类的静态函数 ( 默认为 static 函数 ) .重载 operator new 更多的是为了提高程序效率,比如使用静态内存代替动态分配,启用小对象分配器等。但是要正确重载类域的 operator new 并不容易,有很多规则需要注意: 1) 总是成对提供 new/delete ; 2) 如重载 operator new 一定要同时提供标准形...
C++再学习系列:深入new/delete(2)
深入new/delete:Operator new的全局重载 Operator new 的全局重载 我们经常看到这么一句话: operator new 可以重载, placement new 不可重载。其实此处所说的不可重载应该是指全局的 placement new 不可重载,对于类域中的 placement new 是可以重载的,而且只要重载了任何一种形式的 operator new 都应该顺便重载 placement new , 即 void * operator new(std::size_t c...
解析#pragma命令 lt;二 gt;
#pragma 预处理 在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。 其格式一般为: #Pragma Para 其中Para 为参数,下面来看一些常用的参数。 (1)message 参数。 Message 参数是我最喜欢的一个参数,它能够在编译...
C++代码之爱情篇
*今在VC论坛上看到一段好代码叫C语言代码人生之爱情篇,各大虾正在热烈讨论, 现在哦把它简单地标准C++代码,作为抛砖引玉,供各位大虾继续发挥,写成人 生篇,事业篇什么的应该不难,最好写成了一段完整标准的C++语言语法教材*/ #include #include #include 一些必要头文件 #define NOTHING 不需任何东西 class Boy { public: bool 有房; bool 有车; int 年龄; public: Boy(); ~Boy(); void 恋爱(Girl...
条款50: 提高对C++的认识
C++中有很多 "东西":C,重载,面向对象,模板,例外,名字空间。这么多东西,有时让人感到不知所措。怎么弄懂所有这些东西呢? C++之所以发展到现在这个样子,在于它有自己的设计目标。理解了这些设计目标,就不难弄懂所有这些东西了。C++最首要的目标在于: · 和C的兼容性。很多很多C还存在,很多很多C程序员还存在。C++利用了这一基础,并建立在 ---- 我是指 "平衡在" ---- 这一基础之上。 · 效率。作为C++的设计者和第一个实现者,Bjarne Stroustrup从一开始就清楚地知道,要想...
c++设置开机时自动运行
void CMainFrame::EnableAutoStart()//设置程序自动开机运行 { CString sPath; int nPos; HKEY RegKey; GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH); sPath.ReleaseBuffer(); nPos=sPath.ReverseFind('\\'); sPath=sPath.Left(nPos); CString lpszFile=sP...
c++头文件iomanip.h中setw()、setprecision()、setbase
#include iostream //不要用iostream.h ,会出现好多问题 #include iomanip // io 流控制头文件, 主要是一些操纵用法如setw(int n),setprecision(int n) //,setbase(int n),setfill(char c)的. ▲setw(n)用法: 通俗地讲就是预设宽度 如 coutsetw(5)255endl; 结果是: (空格)(空格)255 ▲setfill(char c) 用法 : 就是在预设宽度中如果已存在没用完的宽...
我的c++命名规则
类名、常量名大写开头,每单词首字大写,拼音则每词组首字大写。中间不要下划线。与大驼峰原则一致。 如: const PrintFangxiang=1; 变量与函数名,首字小写,其余首字母大写,拼音规则同上,不同字母或拼音的词组间用下划线单隔。内部私有变量前下划线,这一点与小驼峰原则是不一样的。 如: PrintFangxiang print_Fangxiang; 这样考虑有以下两个原因: 一、类与常量一般数据要远小于变量与函数名,所以大驼峰原则基本可以满足需要。 二、变量与函数名数量很多,有时找不到合适的...