
04. Linux Technique/Development
文章平均质量分 75
rstevens
Linux,Network,Linux Kernel,football,soccer,snooker,pool,billiards,足球,台球
展开
-
“Linux Kernel in a Nutshell" 读书笔记
读书笔记 此书专门讲解如何配置和编译 Linux 内核,我认为对于每个刚接触 Linux 内核的人,都很有必要认真的读一下此书,以夯实基础,深入理解linux内核的配置和编译技术。我摘录了一些感兴趣的部分,作为读书笔记。 1. 以普通用户进行编译用普通用户身份进行操作,这是在 Linux 上进行工作的一个良好的习惯!This warning原创 2007-06-13 15:39:00 · 2533 阅读 · 0 评论 -
GLIB 常用数据结构介绍 (3)
数组概念到目前为止我们已经介绍了两类有序集合:GSList 和 GList。它们非常相似,因为都依赖于指针来从一个元素链接到下一个条目,或者,在 GList 中,链接到前一个条目。不过,有另外一类不使用链接的有序集合;它的功能与 C 数组多少有些类似。它叫做 GArray,提供一个具备索引的单一类型的有序集合,能够为了容纳新条目而增加大小。相对于链表,数组有什么优势?一方面,索引访问。也就是说,如转载 2009-01-20 17:19:00 · 4125 阅读 · 0 评论 -
GLIB 常用数据结构介绍 (4)
队列概念队列是另一个便利的数据结构。一个 队列 会保存一列条目,而且访问形式通常是向最后添加条目,从最前删除条目。当需要按到达顺序进行处理时,这很有实用。标准队列的一个变种是“双端队列(double-ended queue)”,或者说是 dequeue,它支持在队列的两端进行添加或者删除。不过,在很多情况下最好避免使用队列。队列搜索不是特别快(是 O(n) 操作),所以,如果需要经常进行搜索,那么转载 2009-01-20 17:14:00 · 3239 阅读 · 0 评论 -
GLIB 常用数据结构介绍 (2)
哈希表概念到目前为止,本教程只介绍了有序容器,在其中插入的条目会保持特定次序不变。哈希表 是另一类容器,也称为“映射”、“联合数组(associative array)” 或者“目录(dictionary)”。正如语文辞典使用一个定义来关联一个词,哈希表使用一个 键(key) 来唯一标识一个 值(value)。哈希表可以根据键非常快速地执行插入、查找和删除操作;实际上,如果使用得当,这些可以都是转载 2009-01-20 17:10:00 · 5081 阅读 · 1 评论 -
GLIB 常用数据结构介绍 (1)
int main(int argc, char** argv) { GSList* list = NULL; list = g_slist_append(list, "second"); list = g_slist_prepend(list, "first");g_printf("The list is now %d items long/n", g_slist_length(list)); l转载 2009-01-20 17:08:00 · 6300 阅读 · 0 评论 -
使用 libevent 容易犯的一个错误
使用 libevent 的一个代码片段如下:struct event ev_accept;event_set(&ev_accept, listen_fd, EV_READ|EV_PERSIST, on_accept, NULL);event_add(&ev_accept, NULL);这段代码是错误的,因为 ev_accept 是在栈上分配的临时变量,但是 ev_accep原创 2008-10-10 17:36:00 · 3379 阅读 · 2 评论 -
Linux 下查看 IPC 使用情况的方法
1. SYS-V 方法可以通过 ipcs 命令来查看 SYS-V 相关的 IPC 使用情况 2. POSIX 方法 1). message queueLinux 提供了 mqueue 的文件系统类型,可以通过它来观察到 POSIX 消息队列的使用情况 $ mkdir /dev/mqueue $ mount -t mqueue none /dev/mqueue $原创 2008-06-18 20:24:00 · 2019 阅读 · 0 评论 -
“堆碎片”以及解决方法
最近用 C 开发一个服务器软件,代码需要频繁的分配内存,并且用到的第三方库 GLIB 和 libCurl 也有不同的内存分配方式。在开发过程中,发现一个问题,就是在压力测试下,程序耗用内存一直增长,直到用完 3G 的虚存空间,从而 malloc 失败;而我的代码中,内存使用完后都是及时释放的,不应该出现这种现象。因此首先怀疑是有内存泄露,但是无论用 valgrind,还是 dmall原创 2008-05-08 17:22:00 · 2874 阅读 · 0 评论 -
linux系统locale的设定
locale 是国际化与本土化过程中的一个非常重要的概念,个人认为,对于中文用户来说,通常会涉及到的国际化或者本土化,大致包含三个方面:看中文,写中文,与 window中文系统的兼容和通信。从实际经验上看来,locale的设定与看中文关系不大,但是与写中文,及window分区的挂载方式有很密切的关系。本人认为就像一个纯英文的Windows能够浏览中文,日文或者意大利文网页一样,你不需要设定loca转载 2008-01-04 11:12:00 · 7777 阅读 · 0 评论 -
ld 中文使用手册完全版(译)
[Linux命令] ld 中文使用手册完全版(译) 使用ld ******** 本文档介绍GNU连接器ld的2.14版本. 本文档在GNU自由文档许可证下发行.在"GNU自由文档许可证"一章中有关于本许可证的一份拷贝. 概述 ******** ld把一定量的目标文件跟档案文件连接起来,并重定位它们的数据,连接符号引用.一般,在编译一个程序 时,最后一步就是运行ld. ld能接受转载 2008-01-28 21:01:00 · 3926 阅读 · 0 评论 -
在Linux下构造高性能、高可用、高可伸缩性的服务集群
在Linux下构造高性能、高可用、高可伸缩性的服务集群转自: http://www.ibm.com/developerworks/cn/linux/cluster/l-lvsinst/index2.html随着Internet技术的迅猛发展,网络技术、性能的不断提高,高可伸缩性、高可用性、可管理性、价格有效性的网络服务技术将成为网络服务技术的主导。各种平台下的技术方案应运而生。本文试转载 2007-10-26 19:33:00 · 2428 阅读 · 0 评论 -
Linux 自带的 watchdog 的简介
Linux 自带了一个 watchdog 的实现,用于监视系统的运行,包括一个内核 watchdog module 和一个用户空间的 watchdog 程序内核 watchdog 模块:内核 watchdog 模块通过 /dev/watchdog 这个字符设备与用户空间通信。用户空间程序一旦打开 /dev/watchdog 设备,就会导致在内核中启动一个 1分钟的定时器,此后,用户空间程序原创 2007-10-29 10:10:00 · 12594 阅读 · 1 评论 -
多线程中的第三种变量类型:Thread-Specific Data (线程专有数据)
今天才搞明白,除了全局变量和局部变量外,还有一个第三者: Thread-Specific Data (线程专有数据),在 ACE 中被称为 Thread-Specific Storage (线程专有存储)。关于这个东西的介绍和使用,可以看 pthread_key_create() 的手册页。下面两个介绍是从网上摘录过来的:1、转自 http://upczap.itpub.net/ 在单线程的原创 2007-09-20 19:07:00 · 2819 阅读 · 0 评论 -
关于 C 语言数据对齐的试验(组图)
关于 C 语言数据对齐的试验下面的小程序是关于数据对齐的一个试验,在我的 2.4 内核的 Linux 上运行结果如下:size of Foo1: 16size of Foo2: 12size of Foo3: 12size of Foo4: 10#include stdio.h> struct Foo1...{ char a; int b; char c; int原创 2007-09-21 17:01:00 · 1278 阅读 · 0 评论 -
GNU C 扩展之__attribute__ 机制简介
转自: http://blog.youkuaiyun.com/ganxingming/archive/2006/06/17/806696.aspx摘要:在学习linux内核代码及一些开源软件的源码(如:DirectFB),经常可以看到有关__attribute__的相关使用。本文结合自己的学习经历,较为详细的介绍了__attribute__相关语法及其使用。------------------------转载 2007-09-21 16:08:00 · 995 阅读 · 1 评论 -
gcc 在编译阶段寻找动态库的路径顺序
摘自 ld manual page The linker uses the following search paths to locate required shared libraries: 1. Any directories specified by -rpath-link options. 2. Any原创 2009-02-23 16:18:00 · 3700 阅读 · 0 评论