嵌入式Linux
文章平均质量分 84
冰萧
一个人只拥有此生此世是不够的,他还应该拥有一个诗意的世界。Choose what we love and love it!
展开
-
Linux C 函数参考(环境变量,终端控制)[转]
<br />getenv(取得环境变量内容) <br />相关函数 putenv,setenv,unsetenv<br /> <br />表头文件 #include<stdlib.h><br /> <br />定义函数 char * getenv(const char *name);<br /> <br />函数说明 getenv()用来取得参数name环境变量的内容。参数name为环境变量的名称,如果该变量存在则会返回指向该内容的指针。环境变量的格式为name=value。<br /> <br转载 2011-01-02 20:17:00 · 892 阅读 · 0 评论 -
ubuntu中vim和gedit中文乱码
一、VIM中文乱码:$sudo gedit /etc/vim/vimrc在文件未行加入:set fileencodings=utf-8,gb2312,gbk,gb18030set termencoding=utf-8set encoding=prc二、gedit中文乱码:命令行方式,适用于所有 Ubuntu 用户。终端中运行以下命令:原创 2012-05-22 15:57:46 · 1018 阅读 · 0 评论 -
有名管道在无亲缘进程间的通信
两个程序,一写一读,测试有名管道在无亲缘关系的进程间的通信:读管道程序:引用#include #include #include #include #include #include #define FIFO_NA转载 2011-09-27 10:47:55 · 2129 阅读 · 1 评论 -
多线程和多进程的区别
很想写点关于多进程和多线程的东西,我确实很爱他们。但是每每想动手写点关于他们的东西,却总是求全心理作祟,始终动不了手。今天终于下了决心,写点东西,以后可以再修修补补也无妨。 一.为何需要多进程(或者多线程),为何需要并发?这个问题或许本身都不是个问题。但是对于没有转载 2011-09-27 10:26:33 · 841 阅读 · 0 评论 -
进程间的通信(ipc)
前言,进程间的通信是C语言高级编程的重要部分,这一方面,我一直涉猎较少,此次在IBM Developer Works上看大这样一篇好文,藏下来,作为自己学习的初步材料!原作者是:郑彦兴 (mlinux@163.com)国防科大计算机学院。 序linux 下的进程通信手转载 2011-09-27 10:58:35 · 941 阅读 · 0 评论 -
Linux内核的Oops
什么是Oops?从语言学的角度说,Oops应该是一个拟声词。当出了点小事故,或者做了比较尴尬的事之后,你可以说"Oops",翻译成中国话就叫做“哎呦”。“哎呦,对不起,对不起,我真不是故意打碎您的杯子的”。看,Oops就是这个意思。在Linux内核开发中的Oops是什么呢转载 2011-09-27 10:39:31 · 1191 阅读 · 0 评论 -
进程通信之信号
一、信号及信号来源信号本质信号是在软件层次上对中断机制的一种模拟,在原理上,一个进程收到一个信号与处理器收到一个中断请求可以说是一样的。信号是异步的,一个进程不必通过任何操作来等待信号的到达,事实上,进程也不知道信号到底什么时候到达。信号是进程间通信机制中唯一的异步通转载 2011-09-27 10:57:58 · 928 阅读 · 0 评论 -
有名管道的创建与读写
创建有名管道有两种方式:一是在 shell 下交互地建立一个有名管道,二是在程序中使用系统函数建立有名管道。shell 方式下可使用 mknod 或 mkfifo 命令,下面命令使用 mknod 创建了一个有名管道:mknod namepipe转载 2011-09-27 10:47:23 · 10357 阅读 · 0 评论 -
一个简单的聊天程序--命名管道FIFO
本程序是一个使用FIFO进行进程间通信的典型程序lucy.c创建了FIFO write──fifo用于向程序peter.c发送信息:程序创建了FIFO read-fifo,用于向lucy.c发送消息。编译本程序,先运行peter.c再运行lucy.c就可以了。源程序如下:转载 2011-09-27 10:45:37 · 3906 阅读 · 0 评论 -
Linux内核中无名管道pipe和有名管道fifo的分析
1、管道(pipe)管道是进程间通信的主要手段之一。一个管道实际上就是个只存在于内存中的文件,对这个文件的操作要通过两个已经打开文件进行,它们分别代表管道的两端。管道是一种特殊的文件,它不属于某一种文件系统,而是一种独立的文件系统,有其自己的数据结构。根据管道的适用范围将转载 2011-09-27 10:44:45 · 3072 阅读 · 0 评论 -
Ubuntu 内核转储工具
在我的上一篇博文《Linux 内核的Oops》的最后介绍到一个Linux内核转储工具Kdump,这个工具可以在发生kernel panic时把现场dump到一个文件里,以供后续分析之用。本文主要介绍在Ubuntu下如何使用kdump。Kdump是一个通用的Linux内转载 2011-09-27 10:38:45 · 1256 阅读 · 0 评论 -
linux进程管理简析
Linux 是一种动态系统,能够适应不断变化的计算需求。Linux 计算需求的表现是以进程 的通用抽象为中心的。进程可以是短期的(从命令行执行的一个命令),也可以是长期的(一种网络服务)。因此,对进程及其调度进行一般管理就显得极为重要。在用户空间,进程是由进程标识符(PID)转载 2011-09-27 10:55:45 · 731 阅读 · 0 评论 -
slub中的kmalloc和kfree学习笔记
<br /><br />完全转自: http://linux.chinaunix.net/bbs/thread-1110127-1-1.html<br />2.6.26中的内存管理大概分为3个层次 SLUB,伙伴系统和ZONE,其中SLUB在最高层,这里通过分析kmalloc和kfree来分析SLUB的模型,在内存管理中还有NUMA系统,但是NUMA不是必须得,所以以下笔记建立在无SMP和不使用NUMA的环境下,并且不运行DEBUG设置<br /><br />SLUB主要对1页以下的内存进行管理,将1页内转载 2011-01-10 21:02:00 · 1169 阅读 · 0 评论 -
打印调试技术 printk klogd dmesg
<br />4.2.1. printk <br />#include <br />printk(KERN_CRIT"error %s,%i",__FILE__,__LINE__);<br />注:<br />1). printk函数中能够指定优先级,假如printk没有指定优先级,采用默认优先级,DEFAULT_MESSAGE_LEVEL,其值在kernel/printk.c.<br /> 头文档linux/printk.h中宏定义了8个级别,0-8从高到低分别是:<br /> KERN_EME转载 2011-01-03 14:36:00 · 2770 阅读 · 0 评论 -
Linux C 函数参考(接口处理)[转]
<br />accept(接受socket连线) <br />相关函数 socket,bind,listen,connect<br /> <br />表头文件 #include<sys/types.h><br />#include<sys/socket.h><br /> <br />定义函数 int accept(int s,struct sockaddr * addr,int * addrlen);<br /> <br />函数说明 accept()用来接受参数s的socket连线。参数s的so转载 2011-01-02 20:20:00 · 701 阅读 · 0 评论 -
Mac OS X 10.8.4下面XZ Utils(*.tar.xz)压缩解压缩命令工具的安装
参考:http://bbs.chinaunix.net/thread-3610738-1-1.html现在很多找到的软件都是tar.xz的格式的,xz 是一个使用 LZMA压缩算法的无损数据压缩文件格式。 和gzip与bzip2一样,同样支持多文件压缩,但是约定不能将多于一个的目标文件压缩进同一个档案文件。 相反,xz通常作为一种归档文件自身的压缩格式,例如使用tar或cpioUnix程序原创 2013-08-27 12:04:15 · 15550 阅读 · 4 评论