- 博客(30)
- 资源 (1)
- 收藏
- 关注
原创 Wifi connect under command
1. Install wifi driver module insmod xxx.ko2. Turn up the wifiip link set wlan0 up3. Use iwlist to scaniwlist scanning4. Push wpa_supplicant.conf to /datanetwork={ ssid="TestNam
2013-02-19 18:02:11 411
原创 Requested rate does not match actual rate
今天调程序的时候在HAL出现:Requested rate (8000 HZ) does not match actual rate (44100 HZ),问题发生在snd_pcm_hw_params_set_rate_near,难道驱动那边给写死了?又下去看了会驱动,没发现给写死的地方,只发现当在打电话的时候会写死成8000,可我这不是call mode啊,后来跟其它几个录音播放路径一对比,是在
2012-12-18 17:14:38 1044 1
原创 Metro中XML文件操作
using System.Xml.Linq;从文件加载:file = await KnownFolders.DocumentsLibrary.GetFileAsync("test.xml");using (IRandomAccessStream readStream = await file.OpenAsync(FileAccessMode.Read))
2012-05-29 14:21:33 932
原创 Metro Tile Notification
Metro Show Notification(Text&Image), use the notification queue to cycle update the tile:protected override void OnNavigatedTo(NavigationEventArgs e) { /* //Cycle
2012-05-23 16:32:27 1171
转载 按某字节对齐分配内存
void * aligned_malloc(int size, int alignment){ void *ptr = malloc(size + alignment + 4); void *ptr2 = (unsigned char*)ptr + 4; if(ptr) { void *aligned = (unsigned char*)ptr2 + (alignment
2012-05-12 23:48:29 451
原创 MBR To GPT
Windows: > diskpart > list disk > select disk num > convert gpt
2012-03-15 10:48:39 511
原创 Android:Alsa lib中开启adb log
1.alsa-lib/include/local.h: #include #define LOG_TAG "alsa-lib" #define LOGV(...) ((void)__android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__))2.Android.mk:
2012-03-06 20:26:54 982
转载 Byte Code
From:http://www.ibm.com/developerworks/ibm/library/it-haggar_bytecode/Bytecode is the intermediate representation of Java programs just as assembler is the intermediate representation of C or C++
2011-11-30 17:19:55 2105
转载 Thunk
一种实现Win32窗口过程函数(Window Procedure)的新方法 基于Thunk实现的类成员消息处理函数 JERKII.SHANG (JERKII@HOTMAIL.COM) MAR.10th - 31st, 2006 Windows是一个消息驱动的操作系统,在系统中发生的所有消息均需要通过消息处理过程(或叫窗口过程)进行处理。由于C++给我们在程序设计中带
2011-11-17 21:53:09 2327
转载 Android垃圾回收(sp & wp)
sp和wp的实现过程~~ 个人觉得sp和wp实际上就是android为其c++实现的自动垃圾回收机制,具体到内部实现,sp和wp实际上只是一个实现垃圾回收功能的接口而已,比如说对*,->的重载,是为了其看起来跟真正的指针一样,而真正实现垃圾回收的是refbase这个基类。这部分代码的目录在:/frameworks/base/include/utils/RefBase.h
2011-06-27 13:46:00 621
转载 Android JNI机制与应用
本文转自http://www.cnblogs.com/yc_sunniw ... /07/05/1771149.html1. 什么是 JNI JNI是Java Native Interface的缩写。从Java 1.1开始,JNI标准成为java平台的一部分,它允许Java和其他语言进行交互。JNI一开始为C和C++而设计的,但是它并不妨碍你使用其他语 言,只要调用约定受支持就可以了。使用
2011-06-20 17:29:00 3770
原创 并发和竞态控制
<br /> <br />并发和并行:<br /> 并发和并行的区别就是一个处理器同时处理多个任务和多个处理器或者是多核的处理器同时处理多个不同的任务。前者是逻辑上的同时发生(simultaneous),而后者是物理上的同时发生.<br /> 并发性(concurrency),又称共行性,是指能处理多个同时性活动的能力,并发事件之间不一定要同一时刻发生。<br /> 并行(parallelism)是指同时发生的两个并发事件,具有并发的含义,而并发则不一定并行。<br /><b
2010-11-08 20:51:00 564
原创 添加内核模块
<br /> <br /><br /><br />#include<linux/init.h><br />#include<linux/module.h><br /><br />int hello_init(void) //模块初始化函数<br />{<br /> //TODO....<br /> printk("hello, kernel/n");<br /> return 0;<br />}<br /><br />void hello_exit(vo
2010-11-07 20:04:00 370
转载 段页式内存管理中,逻辑地址,线性地址,物理地址的差别
段页式内存管理中,逻辑地址,线性地址,物理地址的差别 线性地址是逻辑地址到物理地址变换之间的中间层,是处理器可寻址的内存空间(称为线性地址空间)中的地址。程序代码会产生逻辑地址,或者说是段中的偏移地址,加上相应段的基地址就生成了一个线性地址。 如果启用了分页机制,那么线性地址可以再经变换以产生一个物理地址。若没有启用分页机制,那么线性地址直接就是物理地址。不过,在开启分页功能之后,一个线性地址可能没有相对映的物理地址,因为它所对应的内存可能被交换到硬盘中。32位线性地址可用于定位4G
2010-11-05 15:07:00 1398
原创 http请求的详细过程
<br />来自:http://www.yuanma.org/data/2009/1009/article_3949.htm<br /> <br /> <br />一个http请求的详细过程<br />我们来看当我们在浏览器输入http://www.mycompany.com:8080/mydir/index.html,幕后所发生的一切。<br />首先http是一个应用层的协议,在这个层的协议,只是一种通讯规范,也就是因为双方要进行通讯,大家要事先约定一个规范。<br />1.连接 当我们输入这样一个请求
2010-11-02 22:13:00 594
原创 Bootloader NORFLASH NANDFlash EBOOT NBOOT UBOOT SDRAM NK.bin NK.nb0的关系
来自:http://hi.baidu.com/zj41342626/blog/item/f9bd66d3a3671fd1a9ec9adb.html一、在掌上电脑里要使用NAND FLASH存储数据和程序,但是必须有NOR FLASH来启动。除了SAMSUNG处理器,其他用在掌上电脑的主流处理器还不支持直接由NAND FLASH启动程序。因此,必须先用一片小的NOR FLASH启动机器,再把OS等软件从NAND FLASH载入SDRAM中运行。二、Bootloader的概念就是一个用于引导的l
2010-11-02 21:37:00 707 1
原创 文件的内存映射
<br />#include<stdio.h>#include<stdlib.h>#include<sys/mman.h>#include<sys/stat.h>#include<sys/types.h>#include<fcntl.h>#define FILE_LENGTH 0x1000int main(){ void* file_memory; int fd; fd = open("test", O_RDWR|O_CREAT); if(fd
2010-08-21 20:40:00 244
原创 线程间的同步和互斥
<br /> <br /> 有一个全局队列 job_queue , 在main() 函数里面创建两个线程, 一个往队列里增加一个节点,另一个从队列里删除一个节点(如果队列里有节点),如果没有节点,线程将阻塞。<br /> 用 pthread_mutex_lock(&mutex) 和 pthread_mutex_unlock(&mutex) 来实现对资源的互斥访问<br /> 用 sem_wait(&sem) 和 sem_post(&sem) 来实现线程间的同步操作<br
2010-08-16 19:42:00 360
原创 异步清理子进程
<br />当一个子进程结束后,Linux 给父进程发送SIGCHLD 信号,这个信号的默认处理方式是什么都不做。通过这一特点我们可以用获得子进程的退出信息,而且在用 wait(&status) 获得信息的时候,父进程还可以不用阻塞继续运行<br /> <br /> <br />#include<stdio.h>#include<string.h>#include<stdlib.h>#include<sys/types.h>#include<unistd.h>#include<sign
2010-08-15 21:23:00 360
原创 调用转置函数对数组排序
要求只允许调用转置函数void Reverse(int *num, int len) 到对一个数组排序,不允许定义新的变量
2010-07-26 21:14:00 552
原创 链表的一些操作
<br /> #include<stdio.h>#include<stdlib.h>typedef struct node{ int data; struct node *next;}Lnode,*LinkList;//creat a linklist and insert some new node at the begain of linklist LinkList Creat_LinkList1(LinkList L, int n){ Lnode *s;
2010-07-25 21:14:00 351
原创 文件的一些操作
<br />fopen(const char *path, const char *mode);<br /><br />fread(void *ptr, size_t size, size_t nmemb, FILE *stream);<br /><br /><br />fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);<br /> <br />几个文件操作函数的简单使用<br /> <br /> <br />
2010-07-22 21:03:00 252
原创 static 和 const
<br /> <br />一、 static 变量<br /> 静态变量的类型说明符是static。 静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量。 例如外部变量虽属于静态 存储方式,但不一定是静态变量,必须由 static 加以定义后才能成为静态外部变量,或称静态全局变量。<br />1. 静态局部变量<br /> 静态局部变量属于静态存储方式,它具有以下特点:<br /> (1)静态局部变量在函数内定义 它的生存期为整个源程序,但是其作用域仍与自动变量相同,只能在定义
2010-07-22 13:51:00 388
原创 素数
<br /> 质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。最小的素数是2, 他也是唯一的偶素数。
2010-07-21 08:06:00 329
原创 解释性语言和编译性语言的区别
解释性语言是通过解释器动态的解释文本程序而执行的。解释一句后就提交给计算机执行一句,并不形成目标程序。如在终端打一条命令或语句,解释程序就立即将些语句解释成一条或几条指令提交给硬件,且将结果反映到终端。解释程序的执行速度很慢,效率低。如:BASIC 语言,shell脚本,perl语言。 编译性语言是通过编译器将文本程序变成机器代码而运行。编译程序工作时,要进行一些比如词法分析,语法分析,语义分析,代码优化等。如C、C++等。
2010-07-20 20:05:00 484
原创 数组与函数
#include#define N 10int fun1(float score[] , float below[]){ float avg; float sum=0; int i; int j=0; for( i=0; i { sum += score[i]; } avg = sum/N; for( i=0; i {
2010-07-20 08:23:00 269
转载 汉诺塔
<br />为了更清楚地描述算法,可以定义一个函数movedisc(n,a,b,c)。该函数的功能是:将N个盘子从A杆上借助C杆移动到B杆上。这样移动N个盘子的工作就可以按照以下过程进行:<br /> 1) movedisc(n-1,a,c,b);<br /> 2) 将一个盘子从a移动到b上;<br /> 3) movedisc(n-1,c,b,a);<br /> 重复以上过程,直到将全部的盘子移动到位时为止。<br /><br />*程序与程序注释<br />#in
2010-07-20 08:12:00 316
原创 一些常用命令
<br />7/12<br />-----------<br />chmod:<br />-rwx rw- rw-<br />u:文件拥有者 g:所属的用户组 o:其它用户<br />-------------------------------------<br />mount:mount [-t 文件类型] 需要挂载的文件系统 挂载点<br />umount:umount 挂载点<br />---------------<br />tar:<br />-c:create 创建<br />-x:e
2010-07-12 21:02:00 271
原创 linux 下常用解压命令
<br />tar<br />格式: tar [选项] [文件目录列表]<br /><br />选项:<br />-A append tar files to an archive<br />-c create a new archive<br />-r append files to the end of an archive<br />-x extract files from an archive 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩<br />-j
2010-07-11 13:37:00 386
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人