自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Linux内核中如何增加自己的驱动

Linux内核中如何增加自己的驱动代码?本文给出了详细的步骤。其实本质上就是修改kconfig和makefile两个文件。先熟悉下kconfig的语法1.menumenuname   2.configuremyconfigurename   3.boolconfigurenametoshow   4.dependsonanotherconfigurename   5.default

2013-06-24 16:38:34 458

原创 增加hal加载路径

在源码\hardware\libhardware\hardware.c下#define HAL_LIBRARY_PATH1 "/system/lib/hw" 系统默认的#define HAL_LIBRARY_PATH2 "/vendor/lib/hw" 系统默认的#define HAL_LIBRARY_PATH3 "/flysystem/lib/hw" 用户自行添加的路

2013-06-24 16:30:23 408

转载 一个Linux下C线程池的实现

什么时候需要创建线程池呢?简单的说,如果一个应用需要频繁的创建和销毁线程,而任务执行的时间又非常短,这样线程创建和销毁的带来的开销就不容忽视,这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计,则没有必要使用线程池了。   下面是Linux系统下用C语言创建的一个线程池。线程池会维护一个任务链表(每个CThread_worker结构就是一个任务)。   p

2013-05-15 15:04:56 409

转载 信号量,互斥锁,条件变量的区别

信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都在semtake的时候,就阻塞在哪里)。而互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这个资源。比如对全局变量的访问,有时要加锁,操作完了,在解锁。有的时候锁和信号量会同时使用的”也就是说,信号量不

2013-05-09 09:50:52 481

转载 C++ static 用法

1、什么是static?       static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。    2、为什么要引入static?       函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想

2013-04-26 10:19:59 297

转载 linux 不同进程间和线程间的同步

为允许在线程或进程间共享数据,同步通常是必须的。常见的同步方式有:互斥锁、条件变量、读写锁、信号量。另外,对于进程间的同步,也可以通过进程间通信的方式进行同步,包括管道(无名管道、有名管道)、信号量、消息队列、共享内存、远程过程调用,当然也可以通过Socket来进行网络控制。一.  互斥锁和条件变量是同步的基本组成部分  互斥锁和条件变量出自Posix.1线程标准,多用来同步一个进

2013-04-18 10:29:59 622

转载 linux 系统源码导读

像Linux内核这样庞大而复杂的程序看起来确实让人望而生畏,它象一个很大的球,没有起点和终点。在读源代码的过程中,你会遇到这样的情况,当读到内核的某一部分时又会涉及到其它更多的文件,当返回到原来的地方想继续往下读时,又忘了原来读的内容。在internet上,很多人为此付出了很大的努力,制作出了源代码导航器,这为源代码阅读提供了良好的条件,站点为:http://lxr.linux.no/source

2013-02-23 16:07:03 423

转载 线程同步mute

#include#include#includeint i=0;/*鍏变韩鍙橀噺*/pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER;/*浜掓枼閿?/void thread1(){ int ret; while(1) {         ret=pthread_mutex_trylock(&mutex);/*鍒ゆ

2012-12-27 16:34:06 394

原创 模拟一个按键值 给系统处理

#include #include #include #include #include #include #include #include #include #define SIGUER   980 int fd;void my_signal_fun(int signum){  printf("my_signal_fun:signum=%d\

2012-12-27 16:25:51 244

转载 进程间通信--共享内存

sem.h#ifndef _SHM_COM_H#define _SHM_COM_H 1#define TEXT_SZ 2048struct shared_use_st{    int written_by_you;    //char some_text[TEXT_SZ];    int a;};#endifsem1,c#include #i

2012-12-27 16:16:55 248

原创 sscanf的用法

sscanf的用法,我们首先要知道此接口的实现。 sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。格式转换形式请参考scanf()。转换后的结果存于对应的参数内。返回值 成功则返回参数数目,失败则返回-1,错误原因存于errno中。 返回0表示失败    否则,表示正确格式化数据的个数    例如:sscanf(str,"%d%d%s", &i,&i2,

2012-12-27 16:07:00 658

空空如也

空空如也

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

TA关注的人

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