Linux 技术-模块编译
pillarbuaa
这个作者很懒,什么都没留下…
展开
-
Andorid linux模块编译和加载(一)
在达到能直接修改linux内核的程度之前,我们写的代码都需要以模块的方式添加到内核中去运行。本节就介绍最简单的模块编写和加载方法。1、首先创建一个目录modules,以存放以后编写的模块。再在其下创建一个子目录hello,最为本节创建模块的位置。2、编写源文件hello.c,代码如下。[cpp] view plaincopyprint?#include #i转载 2014-10-21 15:01:46 · 752 阅读 · 0 评论 -
Andorid linux模块编译和加载(三)
上节中我们已经掌握了创建大量内核线程的能力,可惜线程之间还缺乏配合。要知道学习ITC(inter thread communication),和学习IPC(inter process communication)一样,不是件简单的事情。本节就暂且解释一种最简单的线程同步手段—completion。 打开include/linux/completion.h,你就会看到complet转载 2014-10-30 12:02:51 · 773 阅读 · 0 评论 -
Andorid linux模块编译和加载(二)
上节中,我们成功地编译运行了一个linux模块。可惜的是,它只有两个函数,hello_init在模块加载时调用,hello_exit 在模块卸载时调用。这样下去,模块纵使有天大的本事,也只能压缩在这两个函数中。为了避免这种悲剧发生,本节就来学习一种让模块在加载后能一直运行下去的方法——内核线程。 要创建一个内核线程有许多种方法,我们这里要学的是最简单的一种。打开include/lin转载 2014-10-30 11:57:49 · 750 阅读 · 0 评论 -
在Ubuntu上为Android系统编写Linux内核驱动程序 + 编写加载动态模块ko
在智能手机时代,每个品牌的手机都有自己的个性特点。正是依靠这种与众不同的个性来吸引用户,营造品牌凝聚力和用户忠城度,典型的代表非iphone莫属了。据统计,截止2011年5月,AppStore的应用软件数量达381062个,位居第一,而Android Market的应用软件数量达294738,紧随AppStore后面,并有望在8月份越过AppStore。随着Android系统逐步扩大市场占有率,终转载 2014-10-21 09:56:51 · 4974 阅读 · 0 评论 -
在Linux下如何编译并运行C程序-----编写Amzon的面试题
#include#include#define true 1char* findsubstring_(char *str) { char *repeat = NULL; int i = 0, j = 0, k = 0, len = 0; if( str == NULL原创 2014-10-21 17:34:27 · 700 阅读 · 0 评论