Linux编程
文章平均质量分 79
leopard_ray
这个作者很懒,什么都没留下…
展开
-
一个脚本,可以根据参数文件名,以正确的参数调用tar来解压缩tar.gz或tar.bz2文件
写一个脚本,可以根据参数文件名,以正确的参数调用tar来解压缩tar.gz或tar.bz2文件。#!/bin/shcase ${1##*.tar.} in bz2) tar jxvf $1 ;; gz) tar zxvf $1 ;; *原创 2007-04-10 15:12:00 · 1501 阅读 · 0 评论 -
jiffies volatile
>>>问题: 在/kernel/sched.c中有一句: ... (*(unsigned long *)&jiffies)++ 这么理解妥否: 取jiffies地址,强行转换为unsigned long型的指针,此地址指向的目标变量进行++操作。 为何要这样绕圈子,不就是jiffies++操作吗? >>>回应: by 硅谷农民 on Friday June 07 2转载 2007-06-19 10:59:00 · 717 阅读 · 0 评论 -
Bash的字符串匹配共有6种形式
Bash的字符串匹配共有6种形式: 1. ${variable#pattern} 如果pattern匹配variable的开始部分,从variable的开始处删除字符直到第一个匹配的位置,包括匹配部分,返回剩余部分。 2. ${variable##pattern} 如果pattern匹配variable的开始部分,从variable的开始处删除字符直到最后一个匹配的位转载 2007-08-23 10:01:00 · 854 阅读 · 0 评论 -
解析Linux内核获取当前进程指针的方法
一、内存数据表示: 我们在教材或阅读中,经常需要直观的用图示来展示数据在内存中的分布,那么数据是如何在内存中组织的呢?不同的机器有不同的表示法,我们以最常见的Intel X86系列计算机为例来说明这个问题。 如上图示内存示意图:内存低址在上。内存高址在下,内存单位为16bit。对于基于 intel i386架构的计算机,系统采用小端字节序来存放数据,所谓小端字节序是指低序字节低地址转载 2007-08-17 16:50:00 · 690 阅读 · 0 评论 -
使用 Linux 系统调用的内核命令
使用 Linux 系统调用的内核命令探究 SCI 并添加自己的调用 文档选项<tr valign="top"><td wid转载 2007-04-19 17:34:00 · 897 阅读 · 0 评论 -
linux中的信号处理(signal和alarm)
信号是unix中所使用的进程通信的一种最古老的方法.系统使用它来同志一个或多个进程异步事件的发生.linux系统库bits/signum.h对信号名作了定义:linux的大多数信号是提供给内核的,仅有少数几种信号可以在信号间发送..SIGHUP 当终止一个终端时,内核就把这种信号发送给该终端所控制的所有进程..SIGINT 当一个用户按下中断键(ctrl+c)后,内核就向该终端用关联的所有进程发送转载 2007-04-15 23:56:00 · 683 阅读 · 0 评论 -
Linux 套接字编程中的 5 个隐患
Socket API 是网络应用程序开发中实际应用的标准 API。尽管该 API 简单,但是开发新手可能会经历一些常见的问题。本文识别一些最常见的隐患并向您显示如何避免它们。 在 4.2 BSD UNIX® 操作系统中首次引入,Sockets API 现在是任何操作系统的标准特性。事实上,很难找到一种不支持 Sockets API 的现代语言。该 API 相当简单,但新的开发人员仍然会遇转载 2007-04-12 12:03:00 · 497 阅读 · 0 评论 -
提高 Linux 上 socket 性能
使用 Sockets API,我们可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过 Internet 在全球范围内进行通信。与其他 API 一样,您可以通过一些方法使用 Sockets API,从而提高 Socket 的性能,或者限制 Socket 的性能。本文探索了 4 种使用 Sockets API 来获取应用程序的最大性能并对 GNU/Linux® 环境进行优化从而达转载 2007-04-12 12:01:00 · 574 阅读 · 0 评论 -
90%程序员写不出无BUG的二分查找程序?
《编 程珠玑》(第二版)一书第四章中提及过100多名专业程序员使用两个小时的充足时间编写一个简单的二分查找程序,结果发现90%的人编出的代码都有 BUG,Knuth也在他的《Sorting and Searching》一书中提过,第一个二分查找程序在1946年已经公布,但是到了1962年才出现第一个没有BUG的二分查找程序,期间经历了16年 的时间。那么为什么一个简单的二分查找程序会这么容易出错呢转载 2007-04-13 10:48:00 · 703 阅读 · 0 评论 -
在应用程序中输出函数调用栈
在内核中,我们可以使用dump_stack()函数来方便的输出函数调用沾。这给了我们很大的便利-无论是理解内核还是调试内核。但是在应用程序中我们该如何输出函数调用栈呢? Linux下我们可以是用下面的函数。// 获取将backstrace信息,将地址存到buffer中。 // 参数size指定buffer的最大值,返回值则是backstrace的实际大小 int backtrace (void **buffer, int size)原创 2010-06-25 15:38:00 · 3433 阅读 · 0 评论