Quantcast
Channel: 葡萄树 On The Road » Linux开发
Browsing latest articles
Browse All 12 View Live

Linux Epoll介绍和程序实例

1. Epoll 是何方神圣? Epoll 可是当前在 Linux 下开发大规模并发网络程序的热门人选, Epoll 在 Linux2.6 内核中正式引入,和 select 相似,其实都 I/O 多路复用技术而已 ,并没有什么神秘的。 其实在 Linux 下设计并发网络程序,向来不缺少方法,比如典型的 Apache 模型( Process Per Connection ,简称 PPC ), TPC...

View Article



itoa在Linux上实现的方法

itoa在Linux上实现的方法: char *myitoa(int value,char *string,int radix)   {   int rt=0;   if(string==NULL)   return NULL;   if(radix<=0||radix>30)   return NULL;...

View Article

Image may be NSFW.
Clik here to view.

字符集和字符编码(Charset & Encoding)

相信大家一定碰到过,打开某个网页,却显示一堆像乱码,如"бЇЯАзЪСЯ"、"�????????"?还记得HTTP中的Accept-Charset、Accept-Encoding、Accept-Language、Content-Encoding、Content-Language等消息头字段?这些就是接下来我们要探讨的。 1.基础知识...

View Article

Linux 2.6.32的内核栈和用户空间栈关系

1.进程的堆栈 内核在创建进程的时候,在创建task_struct的同事,会为进程创建相应的堆栈。每个进程会有两个栈,一个用户栈,存在于用户空间,一个内核栈,存在于内核空间。当进程在用户空间运行时,cpu堆栈指针寄存器里面的内容是用户堆栈地址,使用用户栈;当进程在内核空间时,cpu堆栈指针寄存器里面的内容是内核栈空间地址,使用内核栈。 2.进程用户栈和内核栈的切换...

View Article

Linux标准IO库缓存策略介绍

标准IO库操作是围绕着流来进行的,当我们通过fopen标准IO库函数打开一个文件,我们就使一个文件和一个IO流相关联。在这里我们把IO流和文件指针FILE*等同起来,因为所有针对IO流的操作都是通过FILE*指针来实现的。...

View Article


你不是软件工程师!

你不是软件工程师。你不是在建摩天大楼。你不是在建公路桥梁。 你是在从事园艺,培育花草。 你是一个软件园丁。 你是否会在种下第一粒种子前就规划你的花园,细节精确到定位每个叶子应该长在哪里?人们是否会期望能精确的估算出这一年会开出多少花朵(或你的公司 是否做出这样的承诺?)?你的奖金会跟此挂钩吗?这些事情对于规划一个摩天大楼来说完全合情合理的,可是当你在园艺这样的事情上谈论这些时,就显的有点荒 谬了。...

View Article

Linux字符设备驱动之cdev_init()系列

Linux字符设备驱动之cdev_init()系列函数 1.内核中每个字符设备都对应一个 cdev 结构的变量,下面是它的定义: linux-2.6.22/include/linux/cdev.h struct cdev {   13        struct kobject kobj;   14        struct module *owner;   15        const...

View Article

把VIM打造成一个简单实用的IDE

习惯在Linux下coding。 分享下Linux下的VIM使用吧,可以作为一个简单的IDE,虽然赶不上sorce insight,eclipse那么功能强大,但也足够用了。 网上很多关于这方面的资料,但我们大部分时间用不到那么多,我就挑一些常用的吧。 以下均以C/C++为例,Fedora 14下VIM讲解,如果您是用Windows,稍作修改即可。 1, 文中说的一些路径, 比如:...

View Article


Linux内核C99结构体指定初始化

在阅读GNU/Linux内核代码时,我们会遇到一种特殊的结构初始化方式。该方式是某些C教材(如谭二版、K&R二版)中没有介绍过的。这种方式称为指定初始化(designated initializer)。 下面我们看一个例子,Linux-2.6.x/drivers/usb/storage/usb.c中有这样一个结构体初始化项目: static struct usb_driver...

View Article


2011年度最佳C代码

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/fcntl.h> int believe(int it, char * you) { int random; int c; random = open(“/dev/random”, O_RDONLY);...

View Article

Python 中使用 pyrex 生成 Linux 可执行文件

这个问题是相当有意义的,如果有了比较好的方法,Python 完全可以用来开发商业软件,而不用担心源代码泄露。 前两天我在网上看了看,有很多的人在问这个问题。大部分的人都在用 py2exe,这是个对 Python 程序打包的东东,实际上只是在 Python 程序中找 出依赖的模块,然后发布这个程序。好处在于可以让这个程序脱离 Python 的环境来执行,不用安装 Python...

View Article

异步编程经典 读skipfish源码

from: http://blog.dccmx.com/2011/01/skipfish-src-reading/ skipfish是google开源出来的一款安全检测工具(google真是好啊,开源了好多东东)。作者是个geek,写起程序来相当精干老道,项目主页上列举其特点之一: High speed: pure C code, highly optimized HTTP handling,...

View Article
Browsing latest articles
Browse All 12 View Live




Latest Images