易截截图软件、单文件、免安装、纯绿色、仅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。这样就可以达到访问底层硬件的目的了。


相关文档:

linux:Dynamic MMap ran out of room

    当我的ubuntu进行如常的更新时,突然告诉我Dynamic MMap ran out of room.然后google得解法,记录如下:
    sudo gedit /etc/apt/apt.conf.d/70debconf
    增添以下两行:APT::Cache-Limit "200000000";
       &nbs ......

linux下apache+php安装常见问题


linux下apache+php安装常见问题
configure: error: Unable to find libgd.(a|so)
如果使用的是ubuntu或debian就很简单了,直接sudo apt-get install apache2 libapache2-mod-php5 php5 php5-gd 就基本上搞定,但是用源代码安装还是很麻烦~
wget http://www.boutell.com/gd/http/gd-2.0.11.tar.gz
tar zxvf gd-2.0.11 ......

linux线程的挂起与恢复

#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#include <unistd.h>
pthread_mutex_t wqy_mutex_pause = PTHREAD_MUTEX_INITIALIZER;
pthread_cond_t wqy_cond_pause = PTHREAD_COND_INITIALIZER;
bool wqy_pthread_pause = false;
void wqy_pthread_suspend(void)
{
if ......

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";
       & ......

rar for linux的安装使用

一.安装
1.到网上下载rar for linux
2.tar zxvf   rarlinux-3.7.b1.tar.gz
3.make
二.使用
1. rar e test.rar 解压RAR档
2. rar a 压缩后的文件名.rar 待压文件或目录
三.问题
若运行RAR提示如下:
rar: /lib/tls/libc.so.6: version `GLIBC_2.4' not found (required by rar)
则用里面提供的 rar_stati ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号