- 博客(80)
- 资源 (24)
- 收藏
- 关注
转载 #ifdef __cplusplus 倒底是什么意思?
时常在cpp的代码之中看到这样的代码: #ifdef __cplusplus extern "C" { #endif //一段代码 #ifdef __cplusplus } #endif 这样的代码到底是什么意思呢?首先,__cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代
2012-03-28 15:31:36 505
转载 poll函数
poll函数 poll函数起源于SVR3,最初局限于流设备。SVR4取消了这种限制,允许poll工作在任何描述字上。poll提供的功能与select类似,不过在处理流设备时,它能够提供额外的信息。 1.#include 2. 3.int poll(struct pollfd *fdarray, unsigned long nfds, int timeout); 4.
2012-03-28 15:22:24 654
转载 工作队列的使用
Linux 2.6内核使用了不少工作队列来处理任务,他在使用上和 tasklet最大的不同是工作队列的函数可以使用休眠,而tasklet的函数是不允许使用休眠的。工作队列的使用又分两种情况,一种是利用系统共享的工作队列来添加自己的工作,这种情况处理函数不能消耗太多时间,这样会影响共享队列中其他任务的处理;另外一种是创建自己的工作队列并添加工作。(一)利用系统共享的工作队列添加工作:
2012-03-28 15:20:10 743
转载 poll()函数的使用
poll函数用于监测多个等待事件,若事件未发生,进程睡眠,放弃CPU控制权,若监测的任何一个事件发生,poll将唤醒睡眠的进程,并判断是什么等待事件发生,执行相应的操作。poll函数退出后,struct pollfd变量的所有值被清零,需要重新设置。示例是使用poll函数来监测按键的输入----------------------------------------------------
2012-03-28 15:19:09 698
转载 C/C++面试之算法系列--怎样快速检测出一个巨大的单链表中是否具备死链及其位置
怎样快速检测出一个巨大的单链表中是否具备死链及其位置 Sailor_forever sailing_9806@163.com 转载请注明http://blog.csdn.net/sailor_8318/archive/2008/10/13/3066292.aspx 汤姆逊的面试试题:怎么快速检测出一个巨大的单链表中是否具备死链及其位置? 先给出各种链表的定义:
2012-03-26 15:58:24 3330
转载 U-Boot启动过程完全分析
1.1 U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能Ø 硬件设备初始化Ø 加载U-Boot第二阶段代码到RAM空间Ø 设置好栈Ø 跳转到第二阶段代码入口 (2)第二阶段的功能Ø 初始化本阶段使用的硬件设备Ø 检测系统内存映射Ø 将内核从Flash读取到RAM
2012-03-26 10:45:11 480
转载 Linux下JNI实现
最近研究Android,涉及到JNI调用。虽然我对Java语言有所了解,但是还没有接触过JNI。今天在Unix Center的Ubuntu上面用JNI实现了“经典”的“Hello world”程序。通过这个简单的程序把JNI的一些小知识进行一下总结。什么是JNI JNI是Java native interface的简写,可以译作Java原生接口。Java可以通过JNI调用C/C++
2012-03-26 09:53:32 467
原创 android的root权限问题
今天终于把android的apk正常调用/sys下的bind与unbind。 现象: 插入鼠标后,会在/sys下面生成一个usb设备,其中就会有unbind与unbind。由于项目中需要走自己的usb采集,因此要用到绑定与解绑定。自己写的测试程序,可以正常绑定与解绑定,但是apk调用测试程序后就会出现解绑定失败。 分析过程: 出现这种现象,人的第一反应就会认为是an
2012-03-22 14:12:12 1002
原创 Java编程思想第5章:初始化与清理
实话实说,这一章看起来比较吃力,基本上介绍了两个机制:初始化与回收机制。 先说初始化,对象在创建时,就要被初始化这一规则可以避免很多内存问题,而回收机制却把让用户可以不用太过多的关心释放内存的方式,在C与C++中,内存泄露经常见过。 我曾经在做一个解码器时,就存在着内存泄露的现象,每一次切换频道都会有内存丢失的现象。由于我不是做上层架构的,这个问题由我提出后,至今也没有解决。唉。 最近
2012-03-20 17:28:09 622
转载 Android通过JNI调用驱动程序(完全解析实例)
要达到的目的:android系统中,用JAVA写界面程序,调用jni中间库提供的接口,去操作某个驱动节点,实现read,writer ioctl等操作!这对底层驱动开发人员是很重要的一个调试通道,也是android 系统下提供一些特殊功能接口的方法!本文前提:我们假设已经写了一个驱动程序,它是控制LED的亮灭的,并且创建了一个节点:/dev/vib,也就是通过open这个vib节点,可以rea
2012-03-19 15:29:04 625
原创 uses-permission权限列表
android.permission.ACCESS_CHECKIN_PROPERTIES允许读写访问”properties”表在checkin数据库中,改值可以修改上传android.permission.ACCESS_COARSE_LOCATION允许一个程序访问CellID或WiFi来获取粗略的位置android.permission.ACCESS_FINE_LOCATION
2012-03-19 15:12:11 456
转载 关于 regcomp()、regexec() 正则表达式的问题
关于在c中使用正则表达式在GNU C 中要使用规则表达式,需要用到以下几个函数。(定义在/usr/include/regex.h文件中) * int regcomp (regex_t *compiled, const char *pattern, int cflags) * int regexec (regex_t *compiled, char *string, size_t nma
2012-03-15 14:07:01 1244
转载 readlink命令
readlink是linux系统中一个常用工具,主要用来找出符号链接所指向的位置。在Ubuntu系统中执行以下命令:[plain] view plaincopy$ readlink --help 可以查看readlink命令的帮助信息,或者执行[plain] view plaincopy$ man readlink
2012-03-15 14:06:16 27570 1
原创 Java编程思想第4章:控制执行流程
这一章基本上没什么好说的,就是一些基本概念。主要是注意一下,在java中,if else语句的条件不能是int,即必须用bool型才行。 还有java里面没有goto语句,但是有标签,我个人认为还是少用为好。
2012-03-15 14:05:45 539
转载 关于adbd进程的ROOT权限问题
adbd源码位于system/core/adb/目录下,可执行文件位于/sbin/adbd。通过adb执行ps命令,结果如下:USER PID PPID VSIZE RSS WCHAN PC NAMEroot 1 0 296 212 c00b0124 0000d9ec S /init... ...sh
2012-03-15 14:05:23 798
转载 数据结构——基本数据结构之链表
双向循环链表双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。DuLinkListMain.c#includestdio.h>#includestdlib.h>#include"linklist.h"
2012-03-15 14:05:04 357
转载 数据结构——基本数据结构之队列
循环队列用一组抵制连续的存储单元依次存放从队头到队尾的元素另外两个指针front和rear分别指示队列头元素和尾元素的位置queue.h #ifndef _QUEUE_H#define _QUEUE_H#define MaxQSize 100typedefint ElemType;typedefstruct SqQueue...{ Ele
2012-03-15 14:04:41 564
转载 数据结构——基本数据结构之栈
动态集合:集合可以增大、缩小或随时间而变化。动态集合上的操作可分为两类:1.查询,返回有关集合的信息;2.修改:对集合有所改变。Search(S, k):给定一个集合S和关键字k,返回一个指向S中元素的指针x,使key[x] = k,或当S中不存在这样的元素时返回NULL。Insert(S, x):将由x指向的元素增加到S中去,通常假定x中的域都已被初始化。Delete(S
2012-03-15 14:04:07 449
转载 数据结构——红黑树
红黑树一棵红黑树是指一棵满足下述性质的二叉搜索树(BST, binary search tree):1. 每个结点或者为黑色或者为红色。2. 根结点为黑色。3. 每个叶结点(NIL)都是黑色的。4. 如果一个结点是红色的,那么它的两个子节点都是黑色的(也就是说,不能有两个相邻的红色结点)。5. 对于每个结点,从该结点到其所有子孙叶结点的路径中所包含的黑色结点数量必须相同。
2012-03-15 14:01:09 2162
原创 java编程思想第3章:操作符
看完本章内容,感觉基本上没有什么可说的。如果对C与C++比较熟悉的话,那么几乎不会感到困难。 但是这一章再一次提到了引用,即我们在操作对象时,实际上是间接的通过引用来操作的。 例如:String s = new String(); 这一句的s,实际上是一个引用,而new String()之后的结果才是对象。 那么我们的所有行为都是操作的引用,因此要在操作符中
2012-03-15 13:15:31 519
转载 Linux编程获取文件属性
stat函数讲解表头文件: #include #include 定义函数: int stat(const char *file_name, struct stat *buf);函数说明: 通过文件名filename获取文件信息,并保存在buf所指的结构体stat中返回值: 执行成功则返回0,失败返回-1,错误代码存于er
2012-03-15 10:42:12 877 1
转载 华为软件研发面试题
1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::"。 2、如何引用一个已经定义过的全局变量? 答:extern 3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么? 答:可以,不同的C文件中可以声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错.
2012-03-14 10:41:08 1696 1
原创 产生死锁的条件有四个
产生死锁的条件有四个:1.互斥条件:所谓互斥就是进程在某一时间内独占资源。2.请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。3.不剥夺条件:进程已获得资源,在末使用完之前,不能强行剥夺。4.循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。如何解决死锁,大家可以从死锁的四个条件去解决,只要破坏了一个必要条件,那么我们的死锁就解决了。在jav
2012-03-14 10:17:25 1511
转载 嵌入式Linux系统启动过程
一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序(Bootloader), Linux 内核,文件系统,应用程序。当系统首次引导时,或系统被重置时,处理器会执行一个位于Flash/ROM中的已知位置处的代码,Bootloader就是这第一段代码。它主要用来初始化处理器及外设,然后调用 Linux 内核。Linux 内核在完成系统的初始化之后需要挂载某个文件系统作为根文
2012-03-13 12:05:41 811
原创 ubuntu 配置classpath
在终端中输入sudo gedit /etc/profile回车在此文件中添加以下四行export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.22export JRE_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.22/jreexport CLASSPATH=.:$CLASSPATH:$JAVA_HOM
2012-03-13 11:10:16 9533 1
转载 深入浅出 Linux设备驱动中断处理介
与Linux设备驱动中中断处理相关的首先是申请与释放IRQ的API: request_irq()和free_irq()。 request_irq()的原型为:int request_irq(unsigned int irq,void (*handler)(int irq, void *dev_id, struct pt_regs *regs),unsigned long irqfla
2012-03-13 10:29:25 585
转载 LINUX中断机制与信号
在学习APUE时学习信号编程,很多地方不是理解,便查阅了网络上的相关资料,最常见的一句话就是“信号是中断机制的一种模拟”,既然提到了中断,那就首先了解了一下中断的具体分类以及实现,最后再找出中断和信号的区别。LINUX中断机制与信号中断和异常 l 中 断(也称硬件中断)定义:中断是由其他硬件设备依照CPU时钟周期信号随机产生的。分类: 可屏蔽中断非可
2012-03-13 10:24:34 502
转载 JAVA中引用本身占用内存空间的问题
基本数据的类型的大小是固定的,这里就不多说了。对于非基本类型的Java对象,其大小就值得商榷。在Java中,一个空Object对象的大小是8byte,这个大小只是保存堆中一个没有任何属性的对象的大小。看下面语句:Java代码 Object ob = new Object(); 这样在程序中完成了一个Java对象的生命,但是它所占的空间为:4by
2012-03-13 09:28:27 4350
转载 Android属性系统
属性(property)系统对Android来说是一个重要的功能。他作为一个系统服务管理着系统的配置和状态,所有的这些系统配置和状态都是属性(property)。属性(property)是一对键/值(key/value)组合,键和值都是字符串类型。总体感觉属性系统非常像Windows的注册表的功能。Androd中非常多的应用程序和库直接或者间接的依赖于属性系统,并由此决定其运行期的行为。例如:ad
2012-03-12 14:53:07 392
转载 linux下搭建android NDK开发环境
1)下载android-ndk-r4下载地址 http://www.ideasandroid.com/android/sdk/android-ndk-r4-linux-x86.ziphttp://developer.android.com/sdk/ndk/overview.html下载完成后直接解压就可以用了。 2)配置android-ndk-r4环境变量命令行执行sudo
2012-03-12 10:30:45 626
转载 windows 下搭建android NDK开发环境
什么是NDK: NDK 提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so 和java 应用一起打包成apk。这些工具对开发者的帮助是巨大的。NDK 集成了交叉编译器,并提供了相应的mk 文件,隔离CPU、平台、ABI 等差异,开发人员只需要简单修改mk 文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。NDK 可以自动地将so 和Ja
2012-03-12 10:30:22 541
转载 Android NDK编程入门
(转自http://www.cnblogs.com/hibraincol/archive/2011/05/30/2063847.html)入门的最好办法就是学习Android自带的例子, 这里就通过学习Android的NDK自带的demo程序:hello-jni来达到这个目的。一、 开发环境的搭建a. android的NDK开发需要在linux下进行: 因为需要把C/
2012-03-12 10:27:28 480
原创 strcat问题
一个小程序:#include int main(void){char *Temp = (char *)malloc(sizeof(char) * 200);Temp = "strcat";char *Append = "a test program!";strcat(Temp, Append);printf("%s\r\n", Temp);return
2012-03-11 12:41:35 602
转载 如何下载JDK文档的chm版本
要找JDK 1.5 文档(chm版)1.首先,访问Java的官方网站的JDK在线文档的首页http://java.sun.com/j2se/1.4.2/docs/index.html浏览到底部,正文的最后一条内容如下:Java Documentation in HTMLHelp and WinHelp Formats For Windows users. 2.点击以后进入Java官
2012-03-10 20:29:20 715
转载 函数返回值—返回局部变量
看看下面的程序的输出: #include char *returnStr() { char *p="hello world!"; return p; } int main() { char *str; str=returnStr(); printf("%s\n", str); retu
2012-03-10 19:46:38 424
转载 编译型语言&解释型语言&混合型语言&脚本语言
计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序.翻译的方式有两种:一个是编译,一个是解释。 编译型语言写的程序执行之前,需要一个专门的编译过程,把程序编译成为机器语言的文件,以后要运行的话就不用重复翻译了,直接使用编译的结果就行了。程序执行效率高,依赖编译器,跨平台性差些。如C、C++、Delphi等。
2012-03-10 11:18:17 812
转载 Android应用程序获得root权限
我在博文《Android程序的安全系统》中提到两种让root权限的办法。最近在网上发现很多朋友转载那篇文章,但是对那篇文章中提到的第一种方法怎样实现,不是很明白。本文将会以一个例子实现来演示怎样让一个Android应用程序获得root权限。问题 我遇到的问题是我想在Java应用程序中动态mount一个NFS的系统,但是执行mount命令必须要要root权限才可以。一般情况下,在And
2012-03-09 17:30:10 426
转载 Android程序的安全系统
最近在移植Android过程中遇到了Android程序(apk)权限的问题。最近也对这方面进行了一些了解,在此和大家分享。 Android框架是基于Linux内核构建,所以Android安全系统也是基于Linux的安全架构建立的。在Linux安全系统中,用户和组起着重要的作用,Linux中所有的资源给不同的用户和用户组设置了不同的访问属性。如果你对Linux下面用户和组的概念不熟悉,请
2012-03-09 17:16:10 394
转载 android下m、mm、mmm编译命令的使用
通过查看android源码目录下的build/envsetup.sh文件,可知:- m: Makes from the top of the tree.- mm: Builds all of the modules in the currentdirectory.- mmm: Builds all of themodules in the supplied
2012-03-09 17:14:54 591
转载 ZigBee、Wi-Fi、蓝牙等常用2.4G无线技术的区别
社会的不断发展,无线的优点已经逐步显现。如:无线通信覆盖范围大,几乎不受地理环境限制;无线通信可以随时架设,随时增加链路,安装、扩容方便;无线通信可以迅速(数十分钟内)组建起通信链路,实现临时、应急、抗灾通信的目的;而有线通信则有地理的限制、较长的响应时间。无线通信在可靠性、可用性和抗毁性等方面超出了传统的有线通信方式,尤其在一些特殊的地理环境下,更能体现其优越性。随着无线技术的成熟,工业、医疗等
2012-03-09 10:52:31 5099
wifi_p2p_technical_specification_v1.1_content.
2014-03-12
Wi-Fi_Display_Technical_Specification_v1.0.0
2014-03-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人