代码改变世界

随笔档案-2013年12月

/dev/zero

2013-12-13 11:56 by 放作夥, 804 阅读, 收藏,
摘要: 在类UNIX操作系统中,/dev/zero是一个特殊的文件,当你读它的时候,它会提供无限的空字符(NULL,ASCIINUL, 0x00)。其中的一个典型用法是用它提供的字符流来覆盖信息,另一个常见用法是产生一个特定大小的空白文件。BSD就是通过mmap把/dev/zero映射到虚地址空间实现共享内存的。下面的方法可以用于破坏分区数据:# 请不要执行下列代码,除非你试图破坏分区上的全部数据! dd if=/dev/zero of=/dev/ 创建一个名为'foobar'大小为1MB的文件,以"0"填充:dd if=/dev/zero of=foobar co 阅读全文

define的高级用法

2013-12-04 20:16 by 放作夥, 2133 阅读, 收藏,
摘要: #的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏:#define WARN_IF(EXP)\do{ if (EXP)\fprintf(stderr, "Warning: " #EXP "\n"); }\while(0)那么实际使用中会出现下面所示的替换过程:WARN_IF (divider == 0);被替换为do {if (divider == 0)fprintf(stderr, "Warning" "divid 阅读全文

(转)Linux ./configure --prefix命令

2013-12-04 19:21 by 放作夥, 300 阅读, 收藏,
摘要: 源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install),具体的安装方法一般作者都会给出文档,这里主要讨论配置(configure)。Configure是一个可执行脚本,它有很多选项,使用命令./configure –help输出详细的选项列表,如下:-bash-3.00# ./configure --helpUsage: configure [options] [host]Options: [defaults in brackets after descriptions]Configuration:--cache-file=FILE c.. 阅读全文