易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 :

linux内核的一些预定义

 原文:http://article.phpfans.net/?do=Show&id=Mjc3NTkx
 作者: crazytyt  时间: 2009-08-27 13:29:00
所有的内核代码,基本都包含了linux\compile.h这个文件,所以它是基础,打算先分析这个文件里的代码看看,有空再分析分析其它的代码。
首先印入眼帘的是对__ASSEMBLY__这个宏的判断,这个变量实际是在编译汇编代码的时候,由编译器使用-D这样的参数加进去 的,AFLAGS这个变量也定义了这个变量,gcc会把这个宏定义为1。用在这里,是因为汇编代码里,不会用到类似于__user这样的属性(关于 __user这样的属性是怎么回子事,本文后面会提到),因为这样的属性是在定义函数的时候加的,这样避免不必要的在编译汇编代码时候的引用。
接下来是一个对__CHECKER__这个宏的判断,这里需要讲的东西比较多。
当 编译内核代码的时候,使用make C=1或C=2的时候,会调用一个叫Sparse的工具,这个工具对内核代码进行检查,怎么检查呢,就是靠对那些声明过Sparse这个工具所能识别的特 性的内核函数或是变量进行检查。在调用Sparse这个工具的同时,在Sparse代码里,会加上#define __CHECKER__ 1的字样。换句话说,就是,如果使用Sparse对代码进行检查,那么内核代码 ......

linux串口设置工具setserial报错分析及解决方法


 
 
 
Cannot set serial info: Invalid argument
上面的报错,经过分析setserial源码与kernel 8250 driver,发现setserial通过ioctl(TIOCSSERIAL)将new_serial结构体(承载了
serial info)传入内核,内核8250驱动程序接到serial info后先get旧的serial info,再set新传入的serial info。
因此联想到使用setserial -a /dev/ttyS4时,get得到的串口信息中,baud_base为‘0’,而设置时也未指定此参数,因此驱动程序在设置新的serial info时会犯错,因为波特率不能为'0'。
因此重新执行配置命令: setserial /dev/ttyS4 port 0x300 irq 5 uart 16550 baud_base 115200,此结果设置成功。
原因就是少了一个参数:baud_base 115200
 
  ......

linux下面的调试器,想说爱你不容易

 
在linux下面开发c++的应用程序,使用stl的库,发现还是不是很方便,尤其是其调试器。
使用的是kdevelop集成环境,编编代码还算方便,编译也行,但是调试的话感觉特别不方便。它调用了gdb,但是为了调试方便自己又加了很
多额外的命令导致很多信息会看不到。自己一直用gdb,有人用ddd,后者也是调用gdb,但是发现如果我的被调试程序也包含命令行参数可能会导致ddd
或者我的程序不能正常运行,不知道什么原因。
linux下面的sgi的stl实现由两个问题,一个就是vector即使bitset也是如此,在gdb中无法看到指定位的值,只告诉你该位
的偏移量。第二个就是非vector的容器,调试时除了当前iterator指向的值和begin指向的值,无法察看其他元素的值,要看就只有改代码写打
印语句。目前还无法解决。
最近装了vs2005,发现付费的大公司的东西就是不一样,这两点做得很好。于是只有在linux面编辑/编译/运行,而在windows下调试了
查看原日志地址
原发布日期: 2006/4/17 10:55:56 ......

Linux实用代码

Linux实用代码--文件系统操作
from cu
[size=13px]这篇文档实用性很强,它不是讲某个命令的参数具体含义,而是从实际工作的角度来考虑,完成什么工作需要什么指令。
  文件系统操作是最基本的操作,没有文件系统,操作系统根本就运行不了。
  下面是我们经常要做的一些事情。在下面具体参数意义不解释,要了解这些
  可以查询该命令帮助文档
  1. 创建目录
     mkdir
     NO1. 在当前路径创建一级目录
          [root@rehat root]# mkdir test
     NO2. 在当前路径创建多级目录
          [root@rehat root]# mkdir -p mytest/test1/test1_1
     NO3. 在创建目录的同时给新建的目录赋权限
          [root@rehat root]# mkdir -m 777 testmod
          这样任何人对此目录都有任何权限
  2. 复制文件与文件夹
     cp
     NO1. 复制指定 ......

Linux/CentOS 使用 iptables封ip段

 linux下实用iptables封ip段的一些常见命令:
封单个IP的命令是:
iptables -I INPUT -s 211.1.0.0 -j DROP
封IP段的命令是:
iptables -I INPUT -s 211.1.0.0/16 -j DROP
iptables -I INPUT -s 211.2.0.0/16 -j DROP
iptables -I INPUT -s 211.3.0.0/16 -j DROP
封整个段的命令是:
iptables -I INPUT -s 211.0.0.0/8 -j DROP
封几个段的命令是:
iptables -I INPUT -s 61.37.80.0/24 -j DROP
iptables -I INPUT -s 61.37.81.0/24 -j DROP
想在服务器启动自运行的话有三个方法:
1、把它加到/etc/rc.local中
2、iptables-save >;/etc/sysconfig/iptables可以把你当前的iptables规则放到/etc/sysconfig/iptables中,系统启动iptables时自动执行。
3、service iptables save 也可以把你当前的iptables规则放/etc/sysconfig/iptables中,系统启动iptables时自动执行。
后两种更好此,一般iptables服务会在network服务之前启来,更安全。
解封的话:
iptables -D INPUT -s IP地址 -j REJECT
iptables -F 全清掉了 ......

LINUX安装JDK1.6 攻略

        1.下载成功后上传至服务器任意目录
        2. 在当前目录输入
        sh jdk-6u2-linux-i586-rpm.bin
        3.看到 安装程序在询问您是否尊守许可协议页面 ,回车,空格都可以,看完协议.
        出现一行字:Do you aggree to the above license terms? [yes or no]
        安装程序在问您是否愿意遵守刚才看过的许可协议。当然要同意了,输入"y" 或 "yes" 回车。
        4.在命令行输入:
        vi /etc/profile
        在里面添加如下内容
        export JAVA_HOME=/usr/java/jdk1.6.0_02
        export JAVA_BIN=/usr/java/jdk1.6.0_02/bin
        export PATH=$PATH:$JAVA_HOME/bin
  ......
总记录数:40319; 总页数:6720; 每页6 条; 首页 上一页 [5014] [5015] [5016] [5017] 5018 [5019] [5020] [5021] [5022] [5023]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号