易截截图软件、单文件、免安装、纯绿色、仅160KB

linux中的outb、outw、inb、inw

在linux的驱动程序中,都会使用大量的outb、outw、inb、inw等等宏来访问硬件或寄存器。这些宏的定义都在相应处理器体系下的include\asm目录下的io.h中定义。追究下去,这些宏最终就是一个volatile变量的的赋值:
      #define __arch_putb(v,a)      (*(volatile unsigned char *)(a) = (v))
      #define __raw_writeb(v,a)     __arch_putb(v,a)
      #define outb(v,p)                 __raw_writeb(v,__io(p))
      在(*(volatile unsigned char *)(a) = (v))中,a是一个物理地址(实地址,多数是特殊功能寄存器地址)。(volatile unsigned char *)对a进行类型转换,成为一个指向该地址指针,最后*(volatile unsigned char *)(a)引用该指针对该地址赋值v。这样就可以达到访问底层硬件的目的了。


相关文档:

Cassandra在Linux下的配置

Cassandra是一个开源的分布式Key-Value存储系统,主要用于Facebook、Digg、Twitter等大型大数据量的网站,现在已经成为Apache的顶级项目。
需要先安装Java 1.6以上版本和Thrift。
下载Cassandra:
1.wget http://www.apache.org/dyn/closer.cgi?path=/cassandra/0.6.0/apache-cassandra-0.6.0-bin.tar.gz
解压缩:
2.t ......

linux内核的PAE后缀

yum update 更新系统之后,内核版本出现了两种,一种是PAE,另外一种并没有PAE。
何谓PAE呢?全称:Physical Address Extension
其实就是使32位系统支持超过4G内存,最大可达64G内存。
对于Linux来说,内核从2.6版本开始全面支持PAE[3]
,这使得在32位的机器上可以访问64GB的内存。启用了PAE的Linux内核还需要同样支持P ......

linux api笔记(1):判断文件是否存在

如果在linux C\C++环境下判断某个文件是否存在,可以使用access函数:
#include <unistd.h>
#include <stdio.h>
int main()
{
        const char* file1 = "access.cpp";
        const char* file2 = "access1.cpp";
       & ......

linux下的解压,打包工具

解压工具(无打包功能):
-------------------------------
j——bzip2、bunzip2 
z——gzip、gunzip
Z——compress、uncompress
解压工具(有打包能力):
-------------------------------
zip、unzip
rar、unrar
压缩包*.tar.gz或者*.tgz的解压
----------------------- ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号