08 2012 档案
摘要:下载地址:http://sourceforge.net/projects/gsoap2官方网站:http://genivia.com/Products/gsoap/index.html工程: http://files.cnblogs.com/ahuo/gsoap.rar生成代码:soapcpp2.exe add.h
阅读全文
摘要:ssize_t ret; while(len!=0&&(ret=read(fd,buf,len))!=0){if(ret==-1){if(errno==EINTR)continue;perror("read");break;}len-=ret;buf+=ret;}#include <stdio.h>#include <errno.h>#include <string.h>#include <sys/types.h>#include <fcntl.h>intmain (int argc, char *
阅读全文
摘要:ifconfig eth0 ip 更改IP 网关可以用 route命令查看修改添加网关route add default gw 网关地址 删除网关route del default gw 网关地址用这两个命令改`只能保证在电脑开着的时候用` 而且你一重新启动 这俩地址就会还原到以前的`不想还原可以改配置文件网关IP都在 /etc/sysconfig/network-scripts/ifcfg-eth0 这个文件里改 可以永久保存 DNS是在/etc/resolv.conf 这个配置文件里修改 修改后也是永久保存
阅读全文
摘要:sudo apt-get install nfs-kernel-server$sudo gedit /etc/exports/home/ *(rw,sync,no_root_squash)$ sudo /etc/init.d/nfs-kernel-server restart$sudo mount 192.168.1.160:/home /nfs192.168.1.160是服务器ip
阅读全文
摘要:gdbserverUsage: gdbserver [OPTIONS] COMM PROG [ARGS ...] gdbserver [OPTIONS] --attach COMM PID gdbserver [OPTIONS] --multi COMMCOMM may either be a tty device (for serial debugging), orHOST:PORT to listen for a TCP connection.gdbserver 127.0.0.1:1234gdbtarget remote127.0.0.1:1234
阅读全文
摘要:gdb和arm-elf-gdb只是针对的目标平台不一样gdb 是This GDB was configured as "i686-pc-linux-gnu" 本机平台arm-elf-gdb 是This GDB was configured as "--host=i686-pc-linux-gnu --target=arm-elf". 目标平台是 arm-elf的编译命令./configure --target=arm-elfmake
阅读全文
摘要:error: ignoring return value of是一个警告来的,意思是忽略的返回值,因为打开了-Werror编译选项,就会把警告当错误处理解决办法:WERROR_CFLAGS = #-Werror或者试一下./configure--disable-werror
阅读全文
摘要:假设有变量 var= http://www.ahuo.com/test.htm一 # 号截取,删除左边字符,保留右边字符。echo ${var#*//}其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.ahuo.com/test.htm二 ## 号截取,删除左边字符,保留右边字符。echo ${var##*/}##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符即删除 http://www.ahuo.com/ 结果是 test.htm三 %号截取,删除右边字符,保留左边字符echo ...
阅读全文
摘要:flock -x ./lock dd 结束前flock -x ./lock ls 会一直等待也有对应的apiflockint flock(int fd, int operation);
阅读全文
摘要:为了满足这样的需求:记录文件变化、记录用户对文件的读写,甚至记录系统调用,文件变化通知。本文介绍audit和inotify.什么是auditThe Linux Audit Subsystem is a system to Collectinformation regarding events occurring on the system(s)Kernel events (syscall events)User events (audit-enabled programs)syslog会记录系统状态(硬件警告、软件的log), 但syslog属于应用层, log归咎与软件, 并不会记录所有动作
阅读全文
摘要:用 #defines 和 bit masks 操作。这是一个有极高可移植性#define BIT3 (0x1 << 3)static int a;void set_bit3(void){ //a = 0001a |= BIT3; // a = 1001}void clear_bit3(void){//~(1<<1)= 1111111111111101// ~(1<<2)= 1111111111111011a &= ~BIT3;}
阅读全文
摘要:arm-elf-gcc -o test_e test.c -elf2fltBFLT executable - version 4 ramelf[exective linked file]: 一种为Linux系统所采用的通用文件格式,支持动态链接和重定位。 flat:扁平格式。elf文件有很大的头文件,flat格式对文件头和一些段信息做了简化,可执行程序小,适于嵌入式系统。elf2flt就是将elf格式转换为flt格式。arm-linux-gcc -o test_l test.cELF 32-bit LSB executable, ARM, version 1, dynamically link
阅读全文
摘要:indent -npro -kr -i8 -ts8 -sob -l80 -ss -ncs -cp1
阅读全文
摘要::helphelptags:helptaglist.txt使用下面的命令生成帮助标签:helptags~/.vim/doc下面介绍常用的taglist配置选项,你可以根据自己的习惯进行配置:- Tlist_Ctags_Cmd选项用于指定你的Exuberant ctags程序的位置,如果它没在你PATH变量所定义的路径中,需要使用此选项设置一下;-如果你不想同时显示多个文件中的tag,设置Tlist_Show_One_File为1。缺省为显示多个文件中的tag;-设置Tlist_Sort_Type为”name”可以使taglist以tag名字进行排序,缺省是按tag在文件中出现的顺序进行排序。按
阅读全文
摘要:gdb是個命令列模式的交談(interactive)除錯器, 跟telnet或其它的unix交談式程式一樣有個提示符號,然後要下命令 (gdb)COMMAND 不要忘了gcc編譯時要加 -g 參數, 基本gdb命令 檔案處理 ======== file a.out 載入可執行檔a.out path 告訴gdb obj code在那 directory 告訴gdb source code在那裡 SHELL ===== shell ls 就會執行ls了 cd xxx 不過用shell的方法跟Makefile一樣...
阅读全文
摘要:设置时间为下午14点36分。# date -s 14:36:00Fri Nov 26 14:15:00 CST 1999设置时间为2012年11月28号。# date -s 20121128加8小时# date -s "8 hours"
阅读全文
摘要:1. 安装ntpdate工具 # sudo apt-get install ntpdate 2. 设置系统时间与网络时间同步 # ntpdate cn.pool.ntp.org
阅读全文
摘要:编译uClinux 按下面步骤对uClinux源码包进行编译: make dep ……………………建立依赖关系 make clean……………………清除旧的编译结果 make lib_only………………编译库 make user_only………………编译用户程序 make romfs……………………产生romfs make image……………………产生映象文件 make………………………………编译内核 (替换romsf中的文件,需要 make image,make) 按常规编译完成后应该生成image.bin linux linux.data l...
阅读全文
摘要:#include <unistd.h> int getopt(int argc, char * const argv[],const char *optstring); extern char *optarg; extern int optind, opterr, optopt;getopt()所设置的全局变量包括:char *optarg——当前选项参数字串(如果有)。int optind——argv的当前索引值。当getopt()在while循环中使用时,循环结束后,剩下的字串视为操作数,在argv[optind]至argv[argc-1]中可以找到。int opterr...
阅读全文
摘要:gconftool-2 --set --type=list --list-type=string /apps/gedit-2/preferences/encodings/auto_detected "[UTF-8,CURRENT,GB18030,BIG5-HKSCS,UTF-16]"
阅读全文
摘要:Bash Shell 快捷键l <CTRL k>:删除从光标到行尾的部分l <CTRL u>:删除从光标到行首的部分l <ALT d>:删除从光标到当前单词结尾的部分l <CTRL w>:删除从光标到当前单词开头的部分l <CTRL a>:将光标移到行首l <CTRL e>:将光标移到行尾l <ALT a>:将光标移到当前单词头部l <ALT e>:将光标移到当前单词尾部l <CTRL y>:插入最近删除的单词l <!$>:重复前一个命令最后的参数。Ctrl + a - 跳到
阅读全文
摘要:'b' - Will immediately reboot the system without syncing or unmounting your disks.'c' - Will perform a system crash by a NULL pointer dereference. A crashdump will be taken if configured.'d' - Shows all locks that are held.'e' - Send a SIGTERM to all processes, except
阅读全文
摘要:readelf -s vmlinux |grep FILE 76: 00000000 0 FILE LOCAL DEFAULT ABS process_32.c 80: 00000000 0 FILE LOCAL DEFAULT ABS signal.c 119: 00000000 0 FILE LOCAL DEFAULT ABS traps.c 129: 00000000 0 FILE LOCAL DEFAULT ABS irq.c 136: 00000000 0 FILE LOCAL DEFAULT ABS irq_32.c 147: 00000000 ...
阅读全文
摘要:kgtp使用总结1,介绍:Kgtp项目主页是:http://code.google.com/p/kgtp/如其项目主页所描述,Kgtp是一个实时且轻量级的Linux跟踪内核调试工具。也许说是一个内核跟踪调试接口更合适,通过它来连通内核和GDB,使得GDB可以对内核进行跟踪调试。GDB既可以是在本机,也可以在另外一台机器上,甚至还可以进行离线调试,而这些感觉应该都是GDB本身提供的Targets、Trace Files等功能,而Kgtp主要还是进行内核调试信息的收集与交互、导出等,当然,Kgtp可能也会提供一些其它辅助GDB的功能。Kgtp目前支持X86-32,X86-64,MIPS和ARM平台
阅读全文
摘要:#include<stdlib.h>#include<stdio.h>#include<string.h>intmain(intargc,char*argv[]){intnum=0;if(argc!=2){printf("usage:%sn\n",argv[0]);return0;}num=atoi(argv[1]);printf("Error#%d:%s\n",num,strerror(num));return0;}
阅读全文
摘要:/bin = BINaries/dev = DEVices/etc = ETCetera/lib = LIBrary/proc = PROCesses/sbin = Superuser BINaries/tmp = TeMPorary/usr = Unix Shared Resources/var = VARiable ?FIFO = First In, First OutGRUB = GRand Unified BootloaderIFS = Internal Field SeperatorsLILO = LInux LOaderMySQL = My是最初作者女儿的名字,SQL = Stru
阅读全文
摘要:$sudoapt-getinstallxrdp$sudo apt-get install vnc4server tightvncserver设置:系统-》首选项-》远程桌面windows下用自带的远程桌面程序连接和登录即可,十分方便
阅读全文
摘要:对每一个linux内核以及驱动开发者来说,内核自带的 Documentation目录无疑是一个非常非常有用的参考资料和学习资料。建议多读~当我们在写驱动或者修改内核的时候,可能需要用到某些kernel api,我们也想能够像libc api那样可以通过man手册查看其使用方法,毫无疑问,直接到内核 source code 里面去查找到相关的函数定义是一种方法,但是显得比较麻烦。你可以将内核api安装为man手册,然后你就可以很方便的 man xxx-kernel-api 了。具体步骤如下(based on FC6 ):在kernel source的顶层目录,执行make installmand
阅读全文
摘要:以搜索ls命令源码为例,先搜索命令所在包,命令如下:lpj@lpj-linux:~$ which ls/bin/ls用命令搜索该软件所在包,代码如下:lpj@lpj-linux:~$ dpkg -S /bin/lscoreutils: /bin/ls从上一步中可以知道ls命令的实现在包coreutils中,用apt安装(说安装有些歧义,主要是区分apt-get -d)该包的源代码然后解压,代码如下:sudo apt-get source coreutilscd coreutils-XXX #XXX表示版本号sudo tar zxvf coreutils-XXX.tar.gz脚本实现#!/bin
阅读全文
摘要:Makefile obj-m := test.oKERNELDIR := /lib/modules/$(shell uname -r)/buildPWD := $(shell pwd)default: $(MAKE) -C $(KERNELDIR) M=$(PWD) modulestest.c#include<linux/types.h>/*基本的类型定义*/#include<linux/fs.h>/*文件系统使用相关的头文件*/#include<linux/mm.h>#include<linux/errno.h>#include<asm/
阅读全文
摘要:由于Linux内核的级别控制,导致printk打印的内容不一定都能从控制台正常输出,可以使用dmesg命令来输出所有级别的信息。输入: sudo dmesg –n 8 可以把所有日志信息输出来Linux命令:dmesg 功能说明:显示开机信息。语 法:dmesg [-cn][-s <缓冲区大小>]补充说明:kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里。参 数:-c 显示信息後,清除ring buffer中的内容。-s<缓冲区大小> 预设置为81
阅读全文
摘要:CPU0 CPU1 CPU2 CPU3 0: 50 0 0 0 IO-APIC-edge timer 1: 26 292 3 0 IO-APIC-edge i8042 3: 37186 6956 0 18 IO-APIC-edge 6: 0 0 3 0 IO-APIC-edge floppy 7: 0 0 0 0 IO-APIC-edge parport0 8: 0 0 0 0 IO-APIC-edge rtc0 9: 0 0 0 0 IO-APIC-fasteoi acpi12: 58412 17304 6 0 IO-APIC-edge i804214: 0 0 0 0 IO-APIC...
阅读全文
摘要:nm命令,用于列出OBJ文件或者二进制文件中的所有符号.-c/-demangle:把符号名转换成用户理解的名字,对读取C++符号名时非常有用.-u/-undefined-only:只列出未定义符号,检查文件外部定义的符号.-l/-line-numbers:使用调试信息输出定义每个符号的行号或者复位项(如果符号未定义).-A/-o/-print-file-name:在输出每个符号名前加上文件名,这在很多库中搜索一个符号名时很有用.nm命令输出结果判断符号类型:A:符号的值是绝对的,在经后的链接中也不会改变B:符号在未初始化数据段中(BSS)D:符号在已初始化数据段中R:符号在只读数据段中T:符号
阅读全文
摘要:Linux下使用pmap命令能查看一个具体进程所用内存的分布情况每列的含义如下:参数 解释Address:进程所占的地址空间Kbytes:该虚拟段的大小RSS:设备号(主设备:次设备)Anon:设备的节点号,0表示没有节点与内存相对应Locked:是否允许swappedMode 权限:r=read,...
阅读全文
摘要:Memwatch简介在三种检测工具当中,设置最简单的算是memwatch,和dmalloc一样,它能检测未释放的内存、同一段内存被释放多次、位址存取错误及不当使用未分配之内存区域。请往http://www.linkdata.se/sourcecode.html下载最新版本的Memwatch。安装及使用memwatch很幸运地,memwatch根本是不需要安装的,因为它只是一组C程序代码,只要在你程序中加入memwatch.h,编译时加上-DMEMWATCH -DMW_STDIO及memwatch.c就能使用memwatch,例如:gcc-DMEMWATCH-DMW_STDIOtest.cmem
阅读全文
摘要:sudo dd if=/dev/sdc1 of=./sd bs=512 count=1hexdump -C ./sd00000000 eb 3c 90 4d 53 44 4f 53 35 2e 30 00 02 40 08 00 |.<.MSDOS5.0..@..|00000010 02 00 02 00 00 f8 e8 00 3f 00 ff 00 3f 00 00 00 |........?...?...|00000020 ad d9 39 00 80 00 29 4b 85 bd 74 4e 4f 20 4e 41 |..9...)K..tNO NA|00000030 4d 45
阅读全文