linux
文章平均质量分 64
skywalker_leo
hello
展开
-
Linux函数库的制作与调用
[注:本文中的操作在ubuntu-10.04.4上进行。]静态库与动态库从本质上来说,库是一种可执行代码的二进制形式,可以被操作系统载入内存执行,无论静态库还是动态库,都是由.o文件(目标文件)创建的。静态库:静态库的代码在编译过程中已经被载入可执行程序,因此程序体积较大。动态库:不同的应用程序如果调用相同的库,那么在内存里只需要一份该动态库。单独的动态库升级更换不影响其他原创 2013-03-11 11:17:58 · 1861 阅读 · 0 评论 -
Linux异步I/O
Linux中最常用的输入/输出(I/O)模型是同步I/O。在这个模型中,当请求发出之后,应用程序就会阻塞,直到请求满足为止。这是很好的一种解决方案,因为调用应用程序在等待I/O请求完成时不需要占用任何CPU时间。但是在某些情况中,I/O请求可能需要与其他进程产生交叠。可移植操作系统接口(POSIX)异步I/O(AIO)应用程序接口(API)就提供了这种功能。在本文中,我们将对这个API概要进行介绍转载 2015-09-05 11:06:43 · 945 阅读 · 0 评论 -
Linux vi 经验总结
[注:在vi中使用:help expandtab可以查看expandtab的使用说明,其它配置项同理。]1. Tab自动转换为空格 在~/.vimrc中加入: set tabstop=4 // Force tabs to be displayed/expanded to 4 spaces (instead of default 8). set expandt原创 2013-02-02 16:41:58 · 806 阅读 · 0 评论 -
并发编程
使用应用级并发的应用程序称为并发程序(concurrent program)。现代操作系统提供了三种基本的构造并发程序的方法:进程。用这种方法,每个逻辑控制流都是一个进程,由内核来调度和维护。因为进程有独立的虚拟地址空间,想要和其它流通信,控制流必须使用某种显示的进程间通信(interprocess communication, IPC)机制。I/O多路复用。在这种形式的并发编程中原创 2013-04-11 09:15:26 · 1082 阅读 · 0 评论 -
Linux目录结构详解
/bin这是存放ls, mv, rm,mkdir, rmdir, gzip, tar, telnet及ftp等等常用执行程序的地方,有时候这个目录的内容与/usr/bin是一样的。/boot没错,这里就是放置你 Linux 核心与开机相关档案的地方,这个目录底下的vmlinuz-xxx 就是Linux 的 Kernel 。而如果你的开机管理程序选择grub的话,那么这个目录内还有/bo转载 2013-03-29 14:48:19 · 863 阅读 · 0 评论 -
Linux源码目录结构详解
源代码所有在目录:/usr/srcarch目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的子目录。PC机一般都基于此目录。copying目录下是GPL版权申明。对具有GPL版权的源代码改动而形成的程序,或使用GPL工具产生的程序,具有使用GPL发表的义务,如公开源代码。转载 2013-03-29 15:13:01 · 2844 阅读 · 0 评论 -
uClinux下应用程序获取USB键值
[ 注:内核代码中Documentation/input/input.txt,有输入设备的介绍。]系统检测到USB键盘后,一般会将其映射到/dev/input/event0,可能使用cat命令进行确认: #cat /dev/input/event0操作USB键盘时会有乱码出现。也可以用以下命令查看设备与节点的关联: #cat /proc/bus/inpu原创 2013-04-03 15:19:51 · 1273 阅读 · 0 评论 -
pthread_join和pthread_detach详解
在任何一个时间点上,线程是可结合的(joinable)或者是分离的(detached)。一个可结合的线程能够被其他线程收回其资源和杀死。在被其他线程回收之前,它的存储器资源(例如栈)是不释放的。相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放。 默认情况下,线程被创建成可结合的。为了避免存储器泄漏,每个可结合线程都应该要么被显示地回收,即调用pth原创 2013-04-02 10:28:43 · 4030 阅读 · 0 评论 -
VIM命令大全
移动光标1. k、j、h、l 功能分别等同于上、下、左、右箭头键;2. nj 下跳n行(h、j、k、l分别表示左下上右都可仿照用之);3. H 将光标移到屏幕的最上行;4. nH 将光标移到屏幕的第n行;5. M 将光标移到屏幕的中间;6. L 将光标移到屏幕的最下行;7. nL 将光标移到屏幕的倒数第n行;8.原创 2013-03-20 15:05:21 · 1144 阅读 · 0 评论 -
打开Linux的dev_dbg
[转自:http://hi.baidu.com/dreammerge/item/1fe7e04db5cd8fea1e19bca0] Linux设备驱动调试,我们在内核中看到内核使用dev_dbg来控制输出信息,这个函数的实质是调用 printk(KERN_DEBUG)来输出打印信息。要打开这个开关需要下面两步: 1、打开调试开关。 你调试的文件中必然包含了转载 2013-03-30 11:49:54 · 2873 阅读 · 0 评论 -
Linux硬件的依赖性
[转自:《深入理解Linux内核》] Linux试图在硬件无关的源代码与硬件相关的源代码之间保持清晰的界限。为了做到这一点,在arch和include目录下包含了23个子目录,以对应Linux所支持的不同硬件平台。这些平台的标准名字如下:alpha HP的Alpha工作站,最早属于Digital公司,后来属性Compaq公司,现在不再生产。arm, arm2转载 2013-03-29 15:50:34 · 996 阅读 · 0 评论 -
字符设备和块设备的区别
Linux中I/O设备分为两类:字符设备和块设备。两种设备本身没有严格限制,但是,基于不同的功能进行了分类。(1) 字符设备:提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取。相反,此类设备支持按字节/字符来读写数据。举例来说,键盘、串口、调制解调器都是典型的字符设备。(2) 块设备:应用程序可以随机访问设备数据,程序可自行确定读取数据的位置。硬盘、软盘、CD-ROM驱动器和闪存转载 2013-03-01 13:35:22 · 5519 阅读 · 0 评论 -
帧缓冲存储器
帧缓冲存储器(Frame Buffer):简称帧缓存或显存,它是屏幕所显示画面的一个直接映象,又称为位映射图(Bit Map)或光栅。帧缓存的每一存储单元对应屏幕上的一个像素,整个帧缓存对应一帧图像。 帧缓冲是Linux为显示设备提供的一个接口,把显存抽象后的一种设备,他允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。这种操作是抽象的,统一的。用户不必关心物理显存的位置、换页机转载 2013-03-01 14:38:01 · 5777 阅读 · 0 评论 -
在uClinux下利用GDB进行调试
环境:Blackfin uClinux(版本:buildroot-2012R1-RC6-BF60X)Linux主机:ubuntu 10.04.4可以通过串口和网络两种方式进行调试,以下示例以网络调试为例。1. 在Linux主机编译应用程序:bfin-uclinux-gcc–g –o0 –o a.out test.c -g :在可执行文件中加入调试信息,才能使GDB正常原创 2013-02-28 15:39:21 · 1562 阅读 · 0 评论 -
ctags的安装及应用
一、ctags简介 ctags(Generate tag files for source code)是vim下方便代码阅读的工具。尽管ctags也可以支持其它编辑器,但是它正式支持的只有VIM。并且VIM中已经默认安装了Ctags,它可以帮助程序员很容易地浏览源代码。 ctags 最先是用来生成C代码的tags文件,后来扩展成可以生成各类语言的tags,有些语言也有专有的ta转载 2013-02-26 14:30:25 · 820 阅读 · 0 评论 -
Centos 安装五笔
【转自:http://www.cnblogs.com/emyueguang/p/3789212.html】Centos安装五笔步骤:Ctrl + Alt + [F2 - F6]进入控制台模式f2 - f6是五个控制台。进入之后用Alt + [F2 - F6]来切换不同的控制台。输入root / 密码# yum list | grep wubi,使用这个命令来看看有哪些可以安装的转载 2015-09-18 23:18:55 · 1168 阅读 · 0 评论