
linux编程
吴遥
吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。。。。君子生非异也,善假于物也。
展开
-
编译内核
为什么有些人想要编译新内核? Debian 自带的默认内核已经包含了绝大部分配置,所以编译新内核并不是必需的。并且,Debian 提供了多个内核供选择。所以您应该先确认一下,有没有适合您硬件的内核映像软件包存在。然而,基于下列理由,编译新内核还是很有用的: - 支持某些特殊的硬件,或者默认的内核配置和某些硬件冲突 - 使用某些不为所提供的内核支持的选项 (例如,支持 high memory)原创 2008-10-13 20:24:00 · 539 阅读 · 0 评论 -
gdb用法小结
设置断点:b(reak) [filename:]funcb(reak) [filename:]liner(un)d(elete) breakpointss(tep)n(ext)t(break)finishcdpwdbtupdownwatchrwatchawatchinfo watchpointsdirectory在jump原创 2009-08-18 09:58:00 · 717 阅读 · 0 评论 -
在Linux下产生并调试core文件
转载自: http://blog.china-pub.com/more.asp?name=uniware&id=35478uname -aLinux dev 2.4.21-9.30AXsmp #1 SMP Wed May 26 23:37:09 EDT 2004 i686 i686 i386 GNU/Linux 再看看默认的一些参数,注意core file size是个0,程序转载 2009-09-02 10:24:00 · 675 阅读 · 0 评论 -
关于SIGPIPE导致的程序退出
http://blog.chinaunix.net/u2/69143/showart_1087349.html 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连接已经断开了,不要再写了。 根据信号的默认处理规则SIGPIPE转载 2009-09-13 21:23:00 · 957 阅读 · 0 评论 -
浅析:setsockopt()改善程序的健壮性(转)
不断的收到coolmei25 (梅生)的答谢,我都不好意思了(我都没帮到他),下面写出我在网络编程中的一点心得体会,希望对他(^_^也对大家)有帮助:1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用 closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;转载 2009-10-12 20:57:00 · 728 阅读 · 0 评论 -
Kernel Panic on VFS: Unable to mount root fs on unknown-block(x,y) (转)
或许在Gentoo Linux系统上最烦人然而最常出现的问题是Unable to mount root fs on unknown-block(x,y) 错误。但是,如果你知道你的系统里有什么硬件,多数都容易解决。首先,让我们看一看你得到的错误: VFS: Cannot open root device "sda1" or unknown-block(8,1) Pl转载 2009-10-23 00:33:00 · 11947 阅读 · 0 评论 -
warning: dereferencing type-punned pointer will break strict-aliasing rules(转)
warning: dereferencing type-punned pointer will break strict-aliasing rules 在 gcc 2.x 下编译没有任何 warning 信息的代码换到 gcc 3.x 版本下之后出现了类似的 warning 。原因是 gcc 3 引入了 strict aliasing 架构,当编译时使用了 -fstrict-alia转载 2009-10-27 10:01:00 · 5500 阅读 · 0 评论 -
sawfish配置文件
(setq load-path (cons "~/.sawfish/lisp" load-path))(setq default-font (get-font "-dejavu-dejavu sans mono-medium-o-normal-*"))(defun capture-root-window () "capture root window" (int原创 2010-02-20 10:01:00 · 2047 阅读 · 0 评论 -
bash如何读文本并保存到变量
bash如何读文本并保存到变量对于‘读文本并保存到变量’这一问题,bash提供了很多办法。假设有文件名为file1,内容为:line 1line 2line 31.利用管道将cat的输出转化为read的输入LINE="test"cat file1 | while read LINE; do echo "son: ${LINE}"done;原创 2010-03-05 14:10:00 · 9173 阅读 · 0 评论 -
Debian 文件监听相关软件包
dnotify - Execute a command when the contents of a directory changegamin - File and directory monitoring systemtripwire - file and directory integrity checkerinotify-tools - command-line progr原创 2010-03-15 11:36:00 · 802 阅读 · 0 评论 -
GNU binutils使用小结(转)
GNU binutils使用小结(转)转载 2010-07-23 17:51:00 · 600 阅读 · 0 评论 -
UTF-8格式的latex文档转pdf书签乱码
latex文档转为PDF文档,书签乱码是个很烦人的问题。对于gbk格式的文档,可以使用gbk2uni转一下.out文件,而对于UTF-8的文档,则好像没有现成的工具。既然找不到现成的,就自己写一个吧。原创 2010-08-24 17:09:00 · 3991 阅读 · 0 评论 -
bashdb调试shell脚本
最近开始学bash shell,感觉不知道从何入手,不知道有什么好的工具软件包来学习它。先找一下:yao@wuyao:~$ apt-cache search bashapparix - console-based bookmark tool for fast file system navigationbackup-manager - command-line backup to原创 2009-05-24 20:12:00 · 6616 阅读 · 1 评论 -
linux pcmica无线上网
本文讲在debian环境下设置pcmcia无线上网。对于一般无线上网也可作为参考。* 内核支持首先,我们看看内核是否支持这个无线网卡。** 获取网卡型号如果还不知道手头的网卡的型号,那么把它接到电脑,在windows下运行设备管理器,查看它的型号并记下来。我的网卡型号为Aironet 4800。** 内核支持吗 ?最笨,可能也是最有效有方法可能就是编译一个新的内核。运行:sudo make men原创 2008-10-13 20:37:00 · 943 阅读 · 0 评论 -
使用gtags、etags、cscope、grep浏览源代码
在windows下常用的源代码查看工具是Source Inside。在linux下我习惯用用etags、gtags、grep来查看源代码。etags用于生成TAGS文件来提供emacs快速浏览C/C++源代码,它的最大作用就是能够快速跳转到函数定义、宏定义、数据结构定义、全局变量定义等。etags常常和find命令一同使用来生成TAGS文件,如下所示:find . -name *原创 2008-10-11 23:17:00 · 18048 阅读 · 0 评论 -
linux系统调用简要分析
最近又看linux的0.11版本内核,看main.c函数的时候,发现在一个函数调用fork()。竟找不到它的定义,仔细一看,原来都是宏搞的鬼。在main.c里有这样一句:static inline _syscall0(int,fork)查找它的定义,在unistd.h里找到:#define __NR_setup 0 /* used only by init, to get s原创 2008-10-12 14:04:00 · 1181 阅读 · 0 评论 -
sed新手使用进阶全功略(转)
本贴来自http://www.linuxsir.org/bbs/showthread.php?t=189620标题: ***sed新手使用进阶全功略!*** 看了各个linux 论坛的帖子,感觉sed的介绍不少,但有点零乱,在这里整理一下,希望能对学习者有所帮助!注:sed使用中除了多个命令时, -e选转载 2008-11-29 19:57:00 · 795 阅读 · 0 评论 -
Perl的基本語法(转)
本文转自http://ind.ntou.edu.tw/~dada/cgi/Perlsynx.htm前言:這篇文章是花了我很多時間、費了我很多心血才完成的,雖然連我自己都覺得無法達到盡善盡美的境界,但希望能幫助大家入門,稍微了解到Perl到底是個什麼樣的東西,Perl到底有那些強大的功能,那麼這篇文章的目的就達到了。我分做資料型態、控制敘述、副程式、I/O和檔案處理、Regular Ex转载 2008-12-02 19:54:00 · 998 阅读 · 0 评论 -
GCC内联汇编入门
Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE翻译 2008-12-21 15:48:00 · 6191 阅读 · 1 评论 -
轻轻松松产生 Makefile (转)
不知道原文是从哪来的,我是从这里到找的:http://docs.huihoo.com/gnu/linux1/makefile.html 在 Unix 上写程序的人大概都碰过 Makefile,尤其是用 C 来开发程序的 人。用 make 来开发和编译程序的确很方便,可是要写出一个 Makefile 就不简单了。偏偏介绍 Makefile 的文件不多,GNU Ma转载 2008-12-23 17:24:00 · 667 阅读 · 0 评论 -
使用宏的变长参数打LOG
单步调试总有无法胜任的时候,通常我们会打log.如:#ifdef _DEBUG #define mylog(str) {/FILE *fp = fopen("c://log.txt","ab");/fprintf(fp, str); /fprintf(fp, "/n"); /fclose(fp);} #else#define mylog(...) 0原创 2009-04-08 10:29:00 · 810 阅读 · 0 评论 -
UltraEdit正则表达式
UltraEdit 允许在搜索菜单下面列出的大多数搜索和替换功能中使用正则表达式。 正则表达式允许在一次操作中执行多个组合搜索和替换功能。 这里有两个可以使用的语法集。下面的第一个表显示用于早期 UltraEdit 的原始 UltraEdit 语法。第二个表显示可选的“Unix”样式的正则表达式。这可以从配置段启用。 正则表达式 (UltraEdit 语法):转载 2009-04-21 16:30:00 · 2925 阅读 · 0 评论 -
0.11内核编译出错 kernel/kernel.o:在函数‘copy_process’中:对'memcpy'未定义的引用。
在编译内核的时候连接出错了,出错内容如下: kernel/kernel.o:在函数‘copy_process’中:/home/yao/kernel/linux/linux-gdb-rh9/linux/kernel/fork.c:84:对memcpy未定义的引用。 查看对应的代码:*p = *current; /* NOTE! this doesnt copy原创 2009-05-03 14:08:00 · 4074 阅读 · 0 评论 -
bochs工具用法以及常见问题小结
安装:sudo apt-get install bochs bochs-x bochsbios vgabios bochs-term 调用命令:bochs -f bochsrc bochsrc文件要点:1.指定BIOS镜像romimage: file=/usr/share/bochs/BIOS-bochs-latest2.指定显卡镜像vgaromimage:原创 2009-05-13 20:12:00 · 4353 阅读 · 1 评论 -
nginx + naxsi 搭建web应用防火墙(ubuntu系统)
1 下载nginx源码wget http://nginx.org/download/nginx-1.2.0.tar.gz2 下载naxsi源码(http://code.google.com/p/naxsi/)wget http://naxsi.googlecode.com/files/naxsi-0.46-1.tgz3 下载开发包apt-原创 2012-05-23 14:46:13 · 6532 阅读 · 2 评论