linux效率优于select的epoll模型

转载自:

http://www.cnblogs.com/OnlyXP/archive/2007/08/10/851222.html

 

epoll精髓

在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。
相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用… 更多... “linux效率优于select的epoll模型”

linux安装man page

好兴奋啊,今天终于可以用man来查看函数了,这个问题已经困扰了我好久好久了,花了不少功夫,为了解决这个问题,还特意加了linux 开发QQ群,结果也没有解决这个问题。

 

那么怎么来安装呢?其实非常简单(其实好多问题,就是有那么一心半点的技巧或者信息不知道,知道了,做起来非常简单,也许几分钟就搞定,但是可能之前花了几百个小时)。

 

先下载man page,这里提供一个我使用的连接:

http://www.kern更多... “linux安装man page”

配置vim文本颜色

因为之前一直在windows下面用vc+vc 助手开发,所以早就习惯了那里的语法加亮和自动补齐等,所以在vim开发有点不适应,因此想把开发环境稍作改动,让它跟vc接近些。

 

在我们讨论下面的内容之前请确保你的linux上已经安装好vim和相应的插件。如果没有安装请参看我的另外一遍文章:

安装linux开发环境(vim + ctags + taglist + cscope + cppcomplete + global )

 

让后你发… 更多... “配置vim文本颜色”

GDB调试器的基本用法

为了让我们的程序能被GDB调试,在编译的时候需要加上编译选项 -g 例如:

gcc -c -g main.c -o main.o

 

1. 启动GDB:

gdb main

( 该文中所有的命令均在linux的终端上实验通过。)

执行上面的命令要求当前的目录文main程序所在的目录,也可以不在main所在的目录,那样就需要指定main的路径,用绝对路径和相对路径都可以。

 

2. 列出代码:

l (这是小写的L)

或者是list

调试代码时,… 更多... “GDB调试器的基本用法”

c和c++中使用结构体的一点区别

从学校毕业以后,开发东西几乎全部是c++,今天在linux用c编程,发现关于结构体在定义和使用的上的一点区别。至于结构体在c++有类的特性,这里不做赘述,感兴趣的朋友可以自己查看c++ primer的相关章节。

 

以前在c++中定义和使用结构体如下:

 

// definition

typedef struct Student_t

{

  int num;

  char name[128];

}Student, *PStudent;

 

//… 更多... “c和c++中使用结构体的一点区别”

windows vs linux 编程之区别汇编

本人是从windows转到linux的。因此学习linux编程时候,每学习一种思想或者概念都要跟windows对应的东西相比较,这样便于理解和记忆,也不至于搞混了。

 

下面将陆续列出本人涉及到一些,随着学习的深入和工作经验的加深,下面的内容将逐渐扩充。

 

1. 线程的ID.

   windows: 是全系统唯一的, 可参看msdn上面关于OpenThread的相关说明。

 linux:   不是全系统唯一的,是进程唯一的… 更多... “windows vs linux 编程之区别汇编”

我的makefile之路-1

请参考:

http://blog.360converter.com/archives/19

通过makefile可以一次性将所有相关的源文件编译生成目标文件.

makefile是通过make命令来执行的. 在windows下面是通过nmake执行的. 这里只讨论前者.

 

先写一个简单的makefile

 

#This is my first my makefile

 

CC=gcc

OBJ=codec.o format.o main.o

E… 更多... “我的makefile之路-1”