- 博客(16)
- 资源 (9)
- 收藏
- 关注
原创 Mplayer--play.c
执行mplayer可执行程序的代码#include "main.h"void play(){ close(1); dup(fifo_fd[1]); //*******启动Mplayer************// execl("./mplayer", "mplayer", "-ac", "mad", "-slave", "-quiet", "-inpu
2012-11-22 20:21:06 943
原创 Mplayer--readpip.c
读取无名管道的函数/*******************************************///函数功能:读取管道,获得管道输出内容,查找到有用信息并保存起来//参数:void//返回值:void/********************************************/#include"main.h"char time_temp
2012-11-22 20:19:50 577
原创 Mplayer--readname.c
/*******************************************///函数功能:读取目录,获得.mp3,.lrc文件的文件名//参数: void//返回值:返回歌词、歌曲链表的头指针/********************************************/#include"main.h"struct dirent *ptr
2012-11-22 20:18:45 584
原创 Mplayer--key.c
物理按键的程序#include "main.h"#include"s5pv210-gpio.h"char *voice_table[6]={"./picture/voice0.bmp","./picture/voice1.bmp", "./picture/voice2.bmp","./picture/voice3.bmp", "./picture/v
2012-11-22 20:17:04 569
原创 Mplayer--touch.c
触摸屏程序#include"main.h"/*********定义三个宏,歌曲、模式、控制**********/#define SONG 1;#define MOD 2;#define CONTORL 3;char cmd[200]="loadfile ./song/the_dream_up.mp3";int fp,voice=40,pic_fla
2012-11-22 20:14:45 567
原创 Mplayer--lrc.c
这是歌词解析与现实函数#include"main.h"#define SONG_NUM 12 //显示歌词列数int row;//歌词行数char *lrc_row[50];int fp_lrc;//打开的歌词标识符SONGNAME *head_name,*dispname;SONGLRC *head_lrc,*displrc;Lrc *sort_lrc(Lrc *
2012-11-22 20:12:50 1221
原创 Mplayer--main.c
这个Mplayer项目的核心,主函数。这算是一篇连载,都是自己一个个辛苦写的。由多个.c的函数组成。分别有touch.c,play.c,lrc.c,readname.c,readpip.c,key.c。 /*============================================//*******函数功能:整个Mplayer项目的主函数****////********
2012-11-22 20:03:13 949 1
原创 线程
线程:是cpu调度和分派的基本单位,线程一般不拥有资源,但是可以调用所属进程的资源。在编译时,需要包含一个库,-lpthread。1、pthread_create(pthread_t *pthread,NULL,fuc,NULL)这个是一般用法,第二个和第四个参数全是NULL,第一个参数是线程号,第三个参数是要调用的线程函数。2、pthread_join(thread,NULL
2012-11-15 20:47:36 521
原创 消息队列
1、类型一样,遵循先进先出。2、消息队列中的消息是有格式的。3、消息队列标识符在整个系统中是唯一的,而文件描述符是在一个进程中唯一。4、#include#includekey_t ftok(char *path,int id);获得项目相关的唯一的IPC键值。id:项目的ID,只有低8位有效。5、msgget(key_t key,int msgflg)创建消息队列。只要
2012-11-14 21:41:38 536
原创 信号
信号:信号是软件中断;是一种异步通信方式,能直接进行用户进程和内核的交互。1、信号的产生:从终端键输入;硬件异常;软件异常;kill函数;kill命令。2、对信号的基本操作:2-1、int kill (pid_t pid ,int signum);给进程pid传送信号。pid的取值:pid>0:将信号传送给进程ID为pid的进程。pid=0:将进程传送给当前组的所有进程
2012-11-14 21:40:39 395
原创 文件
1、压缩:把二进制数,换一种形式存放(前几组数据可以记录总共有多少个0,分别在什么位置)2、FILE:下边的FILE的结构体详解: 文件打开函数:fopen 文件关闭函数: fclose字符读写函数:fgetc 和 fputc 字符串读写函数:fgets 和 fputs数据块读写函数:freed 和 fwrite 格式化读写函数:fscanf和 fprinf随机
2012-11-14 18:04:57 490
原创 链表
1、在函数中分配内存是按照先后顺序分配的,从高往低分配。int a=12;int b=20;int c[2];其中a分配 了一个0x34ff74 的内存地址,那么b就分配成0x34ff70,c[1]的地址为0x34ff66;c[0]的地址是0x34ff62;其中如果对c[2](c[2]已经越界)进行操作,就相当于对b的地址进行操作,因为按照地址分配形式,就会使&c[2]=&b;
2012-11-14 18:04:13 430
原创 结构体,共用体
1、struct{ 成员列表;}lucy,lily ,bo;只能定义}后边这三个变量,有局限性。2、具有相同类型的结构变量的结构体可以直接进行赋值预算。ep:lucy=lily;3、在共用体中,其内存空间就是最后一次操作所得的值。共用体的内存跟最大的那个元素大小有关;4、枚举:定义形式:enum bool{false,true};定义变量:enum bool
2012-11-14 18:03:08 593
原创 内存
一个由 c/C++ 编译的程序占用的内存分为以下几个部分 、 1、栈区( stack stack stack stack )由编译器自动分配释放,存放函数的参数值,局部变量的值等。 、 2、堆区( heap heap heap heap )一般由程序员分配释放, 若程序员不释放,程序结束时可能由 OS 回收 。 、 3、全局区(静态区) ( static static stat
2012-11-14 18:02:08 509
原创 指针
1、指针不管定义成什么类型,都是只占用4个字节。每个字节4位!2、定义完指针后,如果不让其指向某一个变量,就不能直接对其赋值。3、对一个二维数组a[][];a就代表第0行的行地址。a+1代表第一行的行地址。 而*a代表取第0行第0列的列地址。 *(*(a+1)+2)代表第1行第二列所存的值。4、*降级,&升级5、定义数组指针:int (*p)[4]6、打印一个地址:
2012-11-14 18:00:55 463
原创 字符
1、把字符中的数字直接转化为整型:#includevoid main(){ int n; char s="1234"; n=atoi(s);}但是其中如果字符串中出现非'0'-'9'字符,就会结束转换。ep:s="12a34"只能转换成12;2、strlen()函数是用来计算字符串中有多少个字符,计算出出来的值没有加上'\0';3、运用库函数判断字符的类型
2012-11-14 16:59:35 417
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人