
linux
文章平均质量分 91
TihsYloH
这个作者很懒,什么都没留下…
展开
-
CRAMFS制作方法
CRAMFS制作方法1. 编译cramfs制作工具mkcramfsa. 解压cramfs-1.1.tar.bz2,产生cramfs-1.1文件夹b. 使用终端进入cramfs-1.1文件夹,运行make,编译cramfs制作工具c. 编译产生mkcramfs和cramfsck两个工具,将这两个工具复制到/usr/bin目录下。2. 编译busyboxa. 解压busybox-1.20.2.tar.转载 2013-07-08 16:37:05 · 1661 阅读 · 1 评论 -
从寄存器看I386和x64位中函数调用中参数传递
x86_64基本使用寄存器存储函数参数,寄存器不够才入栈;而i386将所有参数保存在栈上,通过gcc的扩展功能__attribute__((regparm()))即可实现部分参数的寄存器传递。 代码123456789101112131415161718192021转载 2013-10-12 20:10:32 · 1505 阅读 · 0 评论 -
基本shell 编程
if else以及大于、小于、等于逻辑表达式if ....; then .... elif ....; then .... else .... fi[ -f "somefile" ] :判断是否是一个文件 [ -x "/bin/ls" ] :判断/bin/ls是否存在并有可执行权限 [ -n "$var" ] :判断$var变量是否有值 [ "$a" =原创 2013-09-12 22:09:31 · 481 阅读 · 0 评论 -
GDB十分钟教程
本文写给主要工作在Windows操作系统下而又需要开发一些跨平台软件的程序员朋友,以及程序爱好者。GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。GDB中的命令固然很多,但我们只需掌握其中十个左右的命令,就大致可以完成日常的基本的程序调试工作。 命令 解释 示例file 加载被调试的转载 2013-09-03 22:04:34 · 720 阅读 · 0 评论 -
bmp转jpg(使用libjpeg)
bmp转jpg(使用libjpeg) jpg压缩原理可以参考这篇文章http://hi.baidu.com/tiandsp/item/f5a2dcde6ef1405bd73aae41,我很早以前转的一篇文章。 没有使用libjpeg的压缩代码可以看看这篇文章http://hi.baidu.com/tiandsp/item/9b5843c58a3b4474cfd4f841,也是我转载 2013-08-18 21:28:10 · 771 阅读 · 0 评论 -
将内核API编译为man手册
一般我们都知道用man手册去查看libc库的API的用法,例如man strcpy、man stat ...其实内核里的一些API也可以编译到man手册中,这样对于学习内核的,也无疑是一种很好的资料。----------------------------------------------------------------------------------1,编译内核转载 2013-08-27 15:42:35 · 798 阅读 · 0 评论 -
系统调用与软件中断SWI的实现
++++++++++++++++++++++++++++++++++++++++++本文系本站原创,欢迎转载! 转载请注明出处:http://blog.youkuaiyun.com/mr_raptor/article/details/6556451++++++++++++++++++++++++++++++++++++++++++1 系统调用操作系统的主要功能是为应用程序的运行创建良好转载 2013-08-14 15:14:13 · 1078 阅读 · 0 评论 -
V4L2驱动程序架构
1 V4L2简介video4linux2(V4L2)是Linux内核中关于视频设备的内核驱动,它为Linux中视频设备访问提供了通用接口,在Linux系统中,V4L2驱动的Video设备节点路径通常/dev/video/中的videoXV4L2驱动对用户空间提供字符设备,主设备号为81,对于视频设备,其次设备号为0-63。除此之外,次设备号为64-127的Radio设备,次设备转载 2013-08-19 20:27:57 · 598 阅读 · 0 评论 -
jpg转bmp(使用libjpeg)
jpg转bmp(使用libjpeg) 还是关于图像格式上的东西。使用了libjpeg库将jpeg图像转换到bmp格式。解压原理还是相对复杂的,将来有机会说不定会详细介绍。这里只是库的使用而已。 首先需要下载libjpeg库,网址在这里:http://www.ijg.org/ 然后需要配置环境,我是在windows下用vs2010搞的,编译库可以参考这篇文章。编译出jpeg转载 2013-08-18 21:27:24 · 1028 阅读 · 1 评论 -
linux多线程信号总结
linux 多线程信号总结(一)1. 在多线程环境下,产生的信号是传递给整个进程的,一般而言,所有线程都有机会收到这个信号,进程在收到信号的的线程上下文执行信号处理函数,具体是哪个线程执行的难以获知。也就是说,信号会随机发个该进程的一个线程。2 signal函数BSD/Linux的实现并不在信号处理函数调用时,恢复信号的处理为默认,而是在信号处理时阻塞此信号,直到信号处理函数返回。转载 2013-07-30 19:34:44 · 631 阅读 · 0 评论 -
SQLite在多线程环境下的应用
这几天研究了一下SQLite这个嵌入式数据库在多线程环境下的应用,感觉里面的学问还挺多,于是就在此分享一下。先说下初衷吧,实际上我经常看到有人抱怨SQLite不支持多线程。而在iOS开发时,为了不阻塞主线程,数据库访问必须移到子线程中。为了解决这个矛盾,很有必要对此一探究竟。关于这个问题,最权威的解答当然是SQLite官网上的“Is SQLite threadsafe?”这个问转载 2013-07-05 09:46:26 · 750 阅读 · 0 评论 -
system函数返回值
例:[cpp] view plaincopystatus = system("./test.sh"); 1、先统一两个说法:(1)system返回值:指调用system函数后的返回值,比如上例中status为system返回值(2)shell返回值:指system所调用的shell命令的返回值,比如上例中转载 2013-07-03 15:37:42 · 702 阅读 · 0 评论 -
linux 线程优先级
linux内核的三种调度方法:1,SCHED_OTHER 分时调度策略,2,SCHED_FIFO实时调度策略,先到先服务3,SCHED_RR实时调度策略,时间片轮转 RR调度和FIFO调度的进程属于实时进程,以分时调度的进程是非实时进程。当实时进程准备就绪后,如果当前cpu正在运行非实时进程,则实时进程立即抢占非实时进程。RR进程和FIFO进程都采用实时优先原创 2013-07-14 16:43:54 · 1506 阅读 · 0 评论 -
Linux2.6 内核的 Initrd 机制解析
简介: Linux 的 initrd 技术是一个非常普遍使用的机制,linux2.6 内核的 initrd 的文件格式由原来的文件系统镜像文件转变成了 cpio 格式,变化不仅反映在文件格式上, linux 内核对这两种格式的 initrd 的处理有着截然的不同。本文首先介绍了什么是 initrd 技术,然后分别介绍了 Linux2.4 内核和 2.6 内核的 initrd 的处理流程。最转载 2013-07-01 15:24:01 · 445 阅读 · 0 评论 -
利用Python的SocketServer框架编写网络服务程序
1.前言: 虽说用Python编写简单的网络程序很方便,但复杂一点的网络程序还是用现成的框架比较好。这样就可以专心事务逻辑,而不是套接字的各种细节。SocketServer模块简化了编写网络服务程序的任务。同时SocketServer模块也是Python标准库中很多服务器框架的基础。 2.网络服务类:SocketServer提供了4个基本的服务转载 2013-07-01 14:23:22 · 822 阅读 · 0 评论 -
gdb中忽略信号处理
信号(Signals)信号是一种软中断,是一种处理异步事件的方法。一般来说,操作系统都支持许多信号。尤其是UNIX,比较重要应用程序一般都会处理信号。UNIX定义了许 多信号,比如SIGINT表示中断字符信号,也就是Ctrl+C的信号,SIGBUS表示硬件故障的信号;SIGCHLD表示子进程状态改变信号; SIGKILL表示终止程序运行的信号,等等。信号量编程是UNIX下非常重要的一种技术转载 2013-07-11 10:08:40 · 1421 阅读 · 0 评论 -
用eclipse集成开发环境开发、调试arm linux程序
安装交叉编译器(arm-linux-gcc)以及集成开发环境(eclipse)1.安装arm-linux-gcc,不管你是从网上下载的,还是开发板光盘里面的,都可以,版本也没什么限制,我的是arm-linux-gcc-4.3.2。 进入arm-linux-gcc安装包的目录,我的位置是在 /home/cfan/temps这个目录里面 打开一个终转载 2013-07-11 10:03:12 · 3934 阅读 · 0 评论 -
linux 内存分页机制
涉及的硬件平台是X86,如果是其它平台,嘻嘻,不保证能一一对号入座,但是举一反三,我想是完全可行的。一、概念 物理地址(physical address) 用于内存芯片级的单元寻址,与处理器和CPU连接的地址总线相对应。 ——这个概念应该是这几个概念中最好理解的一个,但是值得一提的是,虽然可以直接把物理地址理解成插在机器上那根内存本身,把内存看成一个从0字节一直到最大空量逐字节的编号的大数组,转载 2013-10-15 21:52:02 · 823 阅读 · 0 评论