linux
文章平均质量分 51
qq250941970
这个作者很懒,什么都没留下…
展开
-
Linux内核驱动模块编写(Hello,World)
<br />我觉得自己的目标很混乱,总是看这个又看那个.虽说这个习惯不好,可是也增加了许多见识.<br />今天尝试编写内核模块,写了一个hello,world,结果弄了1个小时。<br />主要参考了网上的人的说明,结果发现尽信书不如无书,很多人说的都不是很仔细,我觉得这对于初学者来说,很不好。<br />大家贴出来的东西,不仅仅给自己也是给别人,所以有时候一定要严谨,否则很可能误导别人。<br /> <br />首先贴出代码<br /> 1// 这两个头文件包含相应宏定义<br /> 2#include转载 2011-03-01 16:20:00 · 599 阅读 · 0 评论 -
信号量sem简介
信号量的数据类型为结构sem_t,它本质上是一个长整型的数。函数sem_init()用来初始化一个信号量。它的原型为: extern int sem_init __P ((sem_t *__sem, int __pshared, unsigned int __value)); sem为指向信号量结构的一个指针;pshared不为0时此信号量在进程间共享,否则只能为当前进程的所有线程原创 2011-06-29 15:40:00 · 945 阅读 · 0 评论 -
实现linux下上下键和命令补全
安装readline在eclipse中编译使用readline需要在连接时加上-Ireadline -Itermcap#include #include #include #include static char *line_read = (char *) NULL;char *rl_gets() { if (line_read) { free(line_read); line_read = (char *) NULL; } line_read = readline("Please Enter原创 2011-04-13 10:35:00 · 6880 阅读 · 0 评论 -
Linux信号简介和信号处理相关函数
1) SIGHUP本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端不再关联. <br />2) SIGINT程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出 <br />3) SIGQUIT和SIGINT类似, 但由QUIT字符(通常是Ctrl-/)来控制. 进程在因收到SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信号. <br />4)原创 2011-04-11 09:56:00 · 682 阅读 · 0 评论 -
批量替换文本内容 linux sed命令
<br />1.1. Sed简介 2.sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。以下介绍的是Gnu版本的Sed 3.02。 3.2. 定址 4.可以通过定址来定位你所希望编辑的行转载 2011-03-16 17:30:00 · 3470 阅读 · 0 评论 -
Linux批量替换文件内容
问题描述:现在需要将rack1目录下*.send文件中的"-ip="替换成“-localIp=10.0.0.1/n-ip=”刚才那个批量文本内容替换,只能替换内存中的内容,并不会替换文本中的内容,要替换文件中的内容需要一个一个文件去重定向,比较麻烦,本人比较懒,于是找到了一种更好的办法找到批量替换文件内容的好方法,命令结构如下: find -name '要查找的文件名' | xargs perl -pi -e 's|被替换的字符串|替换后的字符串|g' 下面这个例子就是将当前目录及所有子目录下的所有po原创 2011-03-16 17:55:00 · 3893 阅读 · 4 评论 -
Linux下用gcc生成静态库和动态库
<br />一、基本概念<br />1.1什么是库<br />在windows平台和linux平台下都大量存在着库。<br />本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。<br />由于windows和linux的平台不同(主要是编译器、汇编器和连接器的不同),因此二者库的二进制是不兼容的。<br />本文仅限于介绍linux下的库。<br /> <br /> <br />1.2库的种类<br />linux下的库有两种:静态库和共享库(动态库)。<br />二者的不同点在于代码转载 2011-02-22 11:30:00 · 856 阅读 · 0 评论 -
一个makefile实例
编译静态库文件#make file for llc#create by yongmingsong#create date 2011/02/21TARGET:=libsoftllcCom.a#LIB_DIR:=./libOBJS_DIR:=./binINCLUDE:=./includeACT:=./include/actionUtilMSG:=/root/softllc/src/includeCPP_SRCS := $(wildcard *.cpp actionUtil/*.cpp common/*.cpp原创 2011-02-22 11:32:00 · 1073 阅读 · 0 评论 -
获取当前程序的绝对路径
#include #include int main(int argc , char* argv[]){ char buf[1024] = { 0 }; int n; n = readlink("/proc/self/exe" , buf , sizeof(buf)); if( n > 0 && n { printf("%s/n" , buf); }}连接符: /proc/self/exe 代表当前路径如程序在/home/workspace/test中,运行输出:/home/workspace/tes转载 2011-03-09 10:43:00 · 527 阅读 · 0 评论 -
linux常用资料地址
<br />makefile中文手册: http://www.linuxsir.org/main/doc/gnumake/GNUmake_v3.80-zh_CN_html/index.html#content原创 2011-02-18 15:44:00 · 677 阅读 · 0 评论 -
获取CPU,内存使用率,磁盘相关信息
CPU信息bool get_cpuoccupy(CPU_OCCUPY *cpust) //对无类型get函数含有一个形参结构体类弄的指针O{ FILE *fd; char buff[256]; CPU_OCCUPY *cpu_occupy; cpu_occupy = cpust; if ((fd = fopen("/proc/stat", "r")) <= 0)原创 2011-12-07 09:28:04 · 1943 阅读 · 0 评论