自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(11)
  • 收藏
  • 关注

转载 inotify -- Linux 2.6 内核中的文件系统变化通知机制

一、 引言众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,如 hotplug、udev 和 inotify 就是这种需求催生的。Hotplug 是一种内核向用户态应用通报关于热插拔设备一些事件发

2012-11-30 19:50:11 255

转载 inotify用法

inotify是linux系统2.6.13以后内核支持的一种特性,功能是监视文件系统的变化,在监听到文件系统变化后会向相应的应用程序发送事件。典型应用场景比如文件管理器,理想情况下应该在用户使用其他手段修改了文件夹的内容后马上反映出最新的内容,而不应该在用户手动刷新后才显示最新内容。如果没有类似inotify的机制,一般会采用轮询的方式实现这种功能,不能在第一时间反映文件系统变化而且浪费CPU时间

2012-11-29 21:36:31 573

转载 前置声明的使用

前置声明的使用有一定C++开发经验的朋友可能会遇到这样的场景:两个类A与B是强耦合关系,类A要引用B的对象,类B也要引用类A的对象。好的,不难,我的第一直觉让我写出这样的代码:[cpp] view plaincopy// A.h #include "B.h" class A { B b; public: A(void); virtual ~A

2012-11-25 13:52:30 352

转载 readlink:读符号链接

readlink:读符号链接readlink系统调用用于获得符号链接的目标。它有三个参数:符号链接的路径,接收链接对象的缓冲以及这个缓冲的长度。不同寻常的是,readlink 不会在填充的目标路径最后添加 NUL 字符。不过,它会返回对象路径的字符数量,这使得为字符串添加 NUL 结尾变得很简单。如果 readlink 第一个参数指向一个文件而不是符号链接时,readlink 设 置err

2012-11-18 16:18:12 4665

转载 popen()函数执行脚本并返回结果

#include FILE * popen(const char *command , const char *type );int pclose(FILE *stream);函数说明  popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个shell以运行命令来开启一个进程。这个管道必须由pclose()函数关闭,而不是fclose()函数。pclose(

2012-11-18 10:55:22 1500

转载 execve函数

execve函数将执行一个程序¨程序的名字地址作为第一个参数¨一个内容为该程序的argv[i](argv[n-1]=0)的指针数组作为第二个参数¨(char*) 0作为第三个参数#include     void main() {     char *name[2];       name[0] = "/bin/sh";     name[1

2012-11-17 22:38:48 481

转载 Linux平台下的service程序编写指南

摘要:本文主要介绍了如何编写一个service服务所涉及的两个主要方面。1)将一个普通程序装成daemon程序;2)编写service方式的shell脚本。并以C语言为例,基于Red hat 企业版5.3平台演示了一个service服务程序从代码编写到脚本调试以及测试运行全过程。(一) Service介绍Service是一种被称为守护进程(daemon)的程序。它通常一旦启

2012-11-17 22:26:41 378

转载 JSON and C++

JSON(JavaScript Object Notation)跟xml一样也是一种数据交换格式,了解json请参考其官网http://json.org,本文不再对json做介绍,将重点介绍c++的json解析库的使用方法。json官网上列出了各种语言对应的json解析库,作者仅介绍自己使用过的两种C++的json解析库:jsoncpp(v0.5.0)和Boost(v1.34.0)。 一.

2012-11-12 21:05:10 413

转载 timeval and gettimeofday

struct timeval结构体在time.h中的定义为: struct timeval { time_t tv_sec; /* Seconds. */ suseconds_t tv_usec; /* Microseconds. */ }; 其中,tv_sec为Epoch到创建struct timeval时的秒数,tv_usec为微秒struct timeval结构体在time.h中的定

2012-11-11 15:30:49 660

转载 函数指针强制类型转换

C语言中的强制类型转换是一个很常用的技巧,在编程中经常会用到。形式简单的类型转换一目了然,然而复杂一些的却常常令人困惑。这两天读代码发现一个函数指针的类型转换:((void (*)(void)) (entry ))();虽然知道是通过函数指针进行函数调用,但是和见过的函数指针的形式都不一样,想了半天也不明白,最后到网上搜了一下,才知道是一个类型转换。函数指针的声明形式:void (

2012-11-03 23:31:39 1033

转载 Linux常用调试工具

Linux常用调试工具编译阶段Nml 功能获取二进制文件里面包含的符号二进制文件:可执行文件、目标文件、库文件符号:函数、变量l 用途跟踪链接错误(尤其是C++、C混编的程序)重要参数-C,把C++函数签名转为可读形式 (认识c++ name mangling)l 特别注意不同版本的g++,对于同样C+

2012-11-02 20:16:39 980

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除