
Linux编程
天涯角落
这个作者很懒,什么都没留下…
展开
-
SDL environment
http://www.libsdl.es/wiki/doku.php?id=sdl_api:sdl_envvars SDL environment variables========================= last updated: 27 Sept 2001 The following applies to the CVS SDL (the 1.2 branch). This is转载 2009-07-25 13:15:00 · 994 阅读 · 0 评论 -
EABI和OABI
1。什么是ABIABI,application binary interface (ABI),应用程序二进制接口。既然是 接口,那就是某两种东西之间的沟通桥梁,此处有这些种情况:A. 应用程序 操作系统;B. 应用程序 (应用程序所用到的)库类似于AP原创 2011-09-02 11:16:42 · 718 阅读 · 0 评论 -
ctags使用详解
一. ctags 是干什么的ctags 的功能:扫描指定的源文件,找出其中所包含的语法元素,并将找到的相关内容记录下来。我用的是 Exuberant Ctags ,在 Windows 上使用,就一个可执行文件,非常绿色,可在 sourceforge转载 2011-08-13 18:40:33 · 843 阅读 · 0 评论 -
嵌入式开发交叉调试环境搭建
1. wget http://ftp.gnu.org/gnu/gdb/gdb-7.3.tar.bz22. tar -xvf tar -xvf gdb-7.3.tar.bz23. 接下来分2步,第一步编译编译gdb,这个不是宿主机上那个gdb,必须用如下方式编译:# .原创 2011-08-20 14:37:52 · 697 阅读 · 0 评论 -
宏定义中#和##
#define A(x) T_##x #define B(x) #@x #define C(x) #x 我们假设:x为1,则有: A(1) ---> T_1 B(1) ---> '1' C(1) ---> "1"原创 2011-08-22 22:17:52 · 462 阅读 · 0 评论 -
vim标签功能
最近在看代码,由于代码比较庞大,经常由于目录树跟踪的太深,不能快速回到指定位置,于是研究了一下vim的bookmark功能,记录如下:书签 (Mark)书签是vim中非常强大的一个功能,书签分为文件书签跟全局书签。文件书签是你标记文件中的不同位置,然后可以原创 2011-10-08 16:18:53 · 5690 阅读 · 0 评论 -
一致性哈希算法(Consistent Hashing)
应用场景这里我先描述一个极其简单的业务场景:用4台Cache服务器缓存所有Object。那么我将如何把一个Object映射至对应的Cache服务器呢?最简单的方法设置缓存规则:object.hashCode() % 4。Cache 0:object.hashCode() % 4 == 0Cache 1:object.hashCode() % 4转载 2012-02-19 21:02:54 · 807 阅读 · 0 评论 -
nginx事件处理过程
1. 首先设置断点:ngx_epoll_process_events at src/event/modules/ngx_epoll_module.c:5752. 请求http://ip3. nginx接收的客户端的请求,进行accept事件处理,调用堆栈如下图。4. accept处理完毕后,进行http的请求处理,如下图:5. 上一步处理完毕后,执行到如原创 2012-03-06 10:22:06 · 826 阅读 · 0 评论 -
nginx配置文件解析
以启动过程中设置worker_processes的值为例,分析nginx加载配置的过程,代码版本1.1.15。1. 首先创建所有模块配置的上下文,代码调用栈如下:ngx_init_cycle (old_cycle=0xbffff5b0) at src/core/ngx_cycle.c:223调用对应模块的create_conf指针函数创建默认的配置项。由于worker_proc原创 2012-03-05 18:50:34 · 862 阅读 · 0 评论 -
nginx HTTP发送数据过程
1. epoll write事件, 执行写数据处理。2. wev->handler回调函数进入:3. 执行写数据回调函数4. 进入写数据回调函数体内5. 真正发送数据的函数原创 2012-03-07 12:04:03 · 1473 阅读 · 0 评论 -
NGINX原子操作
nginx实现了一个跨平台的原子操作接口。它分别实现了LIBATOMIC,DARWIN_ATOMIC,GCC_ATOMIC等原子操作。LIBATOMIC是一套平台无关原子操作库。DARWIN_ATOMIC苹果平台原子操作库。GCC_ATOMIC GCC内置的原子操作接口。如果实现了上述任意一种原子操作接口,则定义:#define NGX_HAVE_ATOMIC_原创 2012-03-23 18:15:07 · 2876 阅读 · 0 评论 -
#pragma pack 用法详解
1. #pragma pack(show)以警告信息的形式显示当前字节对齐的值.2. #pragma pack(n)将当前字节对齐值设为 n .3. #pragma pack()将当前字节对齐值设为默认值(通常是8) .4. #pragma pack(pu原创 2011-08-05 17:54:07 · 2475 阅读 · 1 评论 -
A Tutorial on IP Multicast
A Tutorial on IP Multicast IntroductionThis tutorial assumes basic familiarity with the socket programming abstraction found in many variants of the UNIX Operating System. This tutorial will illustrate how to use sockets to join an IP multicast group and s转载 2010-07-28 14:40:00 · 1075 阅读 · 0 评论 -
locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别
<br />例如zh_CN.GB2312、zh_CN.GB18030或者zh_CN.UTF-8。很多人都不明白这些古里古怪的表达方式。这个外星表达式规定了什么东西呢?这个问题稍后详述,现在只需要知道,这是locale的表达方式就可以了。 <br /><br />locale这个单词中文翻译成地区或者地域,其实这个单词包含的意义要宽泛很多。Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境。<br /><br />[oracle@game ~]$ l转载 2010-07-18 16:20:00 · 578 阅读 · 0 评论 -
xlib程序开发
1: http://blog.chinaunix.net/u/3771/showart_1891322.html2: http://www.cppblog.com/zmj/archive/2007/05/18/24331.aspx3: http://en.wikipedia.org/wiki/X_video_extension#The_Role_of_Window_Manager_Supp转载 2009-07-25 13:22:00 · 2205 阅读 · 1 评论 -
SDL开发
1:http://www.cppblog.com/lf426/archive/2008/02/11/42619.html 视频属性信息(VideoInfo)实验转载 2009-07-25 13:19:00 · 559 阅读 · 0 评论 -
X 框架, X图形加速相关文章
1: High Performance X Servers in the Kdrive Architecturehttp://www.usenix.org/events/usenix04/tech/freenix/full_papers/anholt/anholt_html/ 2: Translucent Windows in Xhttp://www.fre转载 2009-07-25 13:40:00 · 2476 阅读 · 0 评论 -
X11下几种显示图像的方式
在X11下有几种可以显示图像的方式。 到底哪个能工作很大程序上依赖于硬件。首先,下边描述的每一种方法在不同的硬件上都会有不同的品质。 其次,在X11里的图像显示近来引起普遍的关注, 随着 Xorg 或 XFree86 的每一个版本,都会有很大的突破。 常见图像接口列表:X11: 一般性的使用共享内存的X11输出。XVideo: 一种X11接口扩展,支持任何X11图像的可拖拉。SD转载 2009-07-25 13:20:00 · 2442 阅读 · 0 评论 -
Linux下端口复用(SO_REUSEADDR与SO_REUSEPORT)
解决性参考:Currently, Linux does not allow reuse of same local port for both TCP server and TCP client.而且小测试程序能够成功,和我的库测试程序的差别也就在这一点了,因此接受连接和发起连接的端口分开即可。其他资料:这个是捣乱最大的:http://www.ajaxstu.com/Lin转载 2009-07-31 14:49:00 · 11596 阅读 · 1 评论 -
Intel GMA500显卡硬解码VAAPI
1:http://www.splitted-desktop.com/~gbeauchesne vaapi demo程序原创 2009-08-04 09:31:00 · 2521 阅读 · 0 评论 -
Addendum to the Xv Client library documentation
Addendum to the Xv Client library documentationhttp://www.x.org/docs/Xv/video=============================================== The following features are new to version 2.21) In addition to转载 2009-07-31 10:06:00 · 1129 阅读 · 0 评论 -
xvinfo的代码
/* $XFree86: xc/programs/xvinfo/xvinfo.c,v 1.8 2002/01/22 23:05:43 mvojkovi Exp $ */#include #include #include #include #include #include #include static voidPrintUsage(void){转载 2009-07-31 13:21:00 · 1717 阅读 · 1 评论 -
Ubuntu 8.10控制台启用FrameBuffer模块
想在Ubuntu中启用Buffer,这样不进入图形界面直接在字符界面下也能有比较好的视觉效果,甚至能看看电影什么的。不过Ubuntuserver8.10中似乎不能直接在/boot/grub/menu.lst的内核参数中直接加入vga=xxx来开启Buffer。需要做一些额外的工作。1. 编辑 /etc/initramfs-tools/modules,在其中加入:fbconve转载 2010-01-15 15:56:00 · 597 阅读 · 0 评论 -
DirectFB 重要概念
What are the relationships among the main DirectFB types?There are several one-to-one and one-to-many relationships here: 1 IDirectFB (top-level) N Screens 1 Screen N Layers 1 Layer原创 2010-04-23 14:58:00 · 1080 阅读 · 0 评论 -
CURL多线程处理需要注意问题
最近用到CURL,在开启多个线程同时下载,并且又设置了timeout的时候,程序随机报如下段错误。(gdb) bt#0 0x00002ac0a97a2ec2 in ?? () from /usr/lib64/libcurl.so.3#1 0x00002ac0a97a37dd in ?? () from /usr/lib64/libcurl.so.3#2 0x00002ac0a原创 2012-03-18 10:53:15 · 6642 阅读 · 1 评论