首页 » C/C++

Linux libaio

Linux aio是Linux下的异步读写模型。
对于文件的读写,即使以O_NONBLOCK方式来打开一个文件,也会处于"阻塞"状态。因为文件时时刻刻处于可读状态。而从磁盘到内存所等待的时间是惊人的。为了充份发挥把数据从磁盘复制到内存的时间,引入了aio模

javascript V8惊人的性能

今天测试了一下V8,虽然一直听说和感觉到V8快,但测试后发现性能超过C++ STL,甚至超过了C函数。着实惊人。
一、测试代码:
1. C++:test.cc
#include <sys/time.h>
#include <cstd

Linux下使用inotify监控文件动作

在日常应用中,常常会遇到以下场景,监控文件夹A,若文件夹中的B文件发生变化,则执行C命令。Linux下可以通过inotify完成该功能。
自从Linux kernel 2.6.13起,inotify以作为内核的一部份,同时需要glibc 2.4以上版本。

lua 学习

最近写C++程序打算支持一些脚本,试了下ruby,1.9M的体积,..,随想到号称迷你的lua,果然很迷你,只有100~200K,虽然lua在WOW中很火,可本人并没有接触过过,乘这个机会学习下lua。
lua版本 5.1.4
一、预备知识
关键词:

boost::asio 与 C++0x

看到C++0x的lambda特性,随想到boost::asio,于是拿来练练手,的确很方便。但总有邪教的感觉。
以下代码的编译环境还是满苛刻的。
本人的编译环境为gcc 4.5.2 + boost 1.46。C++0x lambda则需要gcc 4.5以

C++0x 初探

看到新闻ISO C++委员会批准C++0x最终草案后很纠结,犹豫要不要跟进,因为最近几年都一直挺简单就是美。
一、C++0x的新特性
C++0x有着一系列新特性,以下3个我个人比较中意
1. lambda表达式
[](int x, int y) { ret

Socket的4种模型

一、模型比喻
1. 同步Sockets
1个护士照顾一位病人,直至病人出院再照顾下位病人。
缺点:后来想住院的等得花儿都谢了。
2. 多线程 同步Sockets
多位护士照顾多位病人,每位护士照顾病人出院再照顾下位病人。
缺点:医院开销太大。
3. 异

Glibc 学习 –18. Syslog

Syslog 是linux下用于log记录和管理的工具
一、原理
Syslogd接收log信息,并按照/etc/syslog.conf的配置并进行相应的记录
二、相关函数
syslog.hopenlog设定syslog的属性syslog记录closelog

Glibc 学习 –16. Sockets

一、什么是Sockets
在GNU中,Sockets为一个文件描述符,不同于pipes,Socket支持通过网络进行的异地通信。著如telnet,ftp等均可通过sockets访问。
二、通信类型
通信类型主要分以下三种SOCK_STREAM可靠双向基于

Glibc 学习 –14. 文件系统

一、工作目录
unistd.hgetcwd得到工作路径chdir切换工作路径fchdir通过文件描述符切换路径
二、目录控制
1. 函数
struct direntDIRopendir打开一个目录fdopendir通过描述符打开目录dirfd通过DIR