自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 Linux定时器的实现

Linux定时器的实现  #include #include #include #include #include int count = 0; void set_timer() {         struct itimerval itv, oldtv;         itv.it_interval.tv_sec = 0;         itv.it_interval.

2008-02-28 18:42:00 11046

原创 解析C语言中的sizeof

解析C语言中的sizeof   一、sizeof的概念   sizeof是C语言的一种单目操作符,如C语言的其他操作符++、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法   1、用于数据类型   sizeof使用形式:sizeof(type)   

2008-02-28 18:24:00 454

原创 Fedora Core 5 内核模块编译

Fedora Core 5 内核模块编译  到http://download.fedora.redhat.com/pub/fedora/linux/core/5/source/SRPMS/kernel-2.6.15-1.2054_FC5.src.rpm下载kernel-2.6.15-1.2054_FC5.src的安装包。(我的内核版本是这个所以就下载的这个版本,你可以用uname -r

2008-02-28 17:58:00 547

原创 链接器如何使用静态库来解析引用

链接器如何使用静态库来解析引用  在符号解析(symbol resolution)阶段,链接器按照所有目标文件和库文件出现在命令行中的顺序从左至右依次扫描它们,在此期间它要维护若干个集合:(1)集合E是将被合并到一起组成可执行文件的所有目标文件集合;(2)集合D是所有之前已被加入E的目标文件定义的符号集合;(3)集合U是未解析符号(unresolved symbols,即那些被E中目标

2008-02-28 17:56:00 1839

原创 链接器如何解析多处定义的全局符号

链接器如何解析多处定义的全局符号  在编译时,编译器输出每个全局符号给汇编器,或者是强,或者是弱,而汇编器把这个信息隐含地编码在可重定位目标文件的符号表里。函数和已初始化的全局变量是强符号,未初始化的全局变量是弱符号。根据强弱符号的定义,Unix链接器使用下面的规则来处理多处定义的符号:规则1:不允许有多个强符号。规则2:如果有一个强符号和多个弱符号,那么选择强符号。规则3:如果有多个

2008-02-28 17:53:00 558

原创 IPC经典问题

 IPC经典问题 读者写者问题读者优先:semaphore mutex=1;//控制对rc的访问semaphore db=1;//控制对数据库的访问int rc=1;//正在读或想要读的进程数void reader(void){    while(1){        down(&mutex);        rc++;        if(rc==1)            down

2008-02-28 17:49:00 3134 1

原创 usb枚举过程

usb枚举过程  1.hub向host报告port状态变化,usb设备处于Powered state2.通过向hub查询host判断变化的性质3.如果是有设备插入,host等待至少100ms以保证连接稳定,然后enable和reset端口4.hub保持reset信号10ms,reset后usb设备处于Default state,可以从总线获得不多于100mA电流5.为Default C

2008-02-28 17:38:00 600

原创 数组和指针的区别

数组和指针的区别  数组和指针其实并不相同,数组引用是直接寻址,指针方式引用是间接寻址。在同一文件中使用时看不出来,在不同文件中使用就可以看出来了。 第一种情况: file1.c char p[]="Hello every one"; file2.c extern char *p; 定义了数组 p, 编译器为这个数组分配了内存来放这个数组,并记下这个内存的地址和符号表中的 p 对应 p

2008-02-28 17:28:00 599

原创 Linux下的线程接口

Linux下的线程接口

2008-02-28 17:18:00 509

原创 U-boot和根文件系统

U-boot和根文件系统   U-boot采用相应的配置文件编译好,注意选择串口地址,是串口1还是串口2(stb7109eref.h),还要选择对应的PIO口(board/stb7109eref.c)。 我采用stb7109平台 make mrproper make stb7109eref_config (include/configs/stb7109eref.h) make 使用调试

2008-02-28 17:15:00 1802

原创 Linux下的I/O模型

Linux下的I/O模型  Linux下数据的读取主要有两步:等待数据到来和把数据从内核层拷贝到应用层。I/O模型分为同步I/O和异步I/O,同步I/O包括阻塞I/O、非阻塞I/O、I/O复用和信号驱动I/O。阻塞I/O指系统调用发起直到数据拷贝到应用层才返回。非阻塞I/O指如果需要等待数据,则返回一个错误,但是从内核到应用的拷贝仍需要等待。I/O复用会先阻塞在select上,有数据可

2008-02-28 17:13:00 829

转载 如何判断一个单向链表是否有环路

如何判断一个单向链表是否有环路  算法:用两个指针,选取两个互素的数作为步长,从表头开始一起往前走,如果相遇,表明有环路,否则就是没有了。#define STEP1 2#define STEP2 1struct list{    int data;    struct list *next;} ;BOOL IsLoop(struct list *head){   int i;  

2008-02-28 17:10:00 922

转载 Linux下常用CVS命令

Linux下常用CVS命令 1.登录:$export  CVSROOT=:pserver:username@the_server_name:/home/cvsroot   Note:pserver是访问方式,如果服务器设置的是口令认证,则是 pserver。      username是  CVS服务器的用户名,可以根据你的设置修改;      the_server_name是CVS服务器

2008-02-28 17:08:00 633

转载 常用VI命令

常用VI命令 光标控制命令 命令                 光标移动h或^h              向左移一个字符j或^j或^n         向下移一行k或^p               向上移一行l或空格            向右移一个字符G                      移到文件的最后一行nG                    移到文件的第n行gg

2008-02-28 16:39:00 492

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除