自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (3)
  • 收藏
  • 关注

翻译 my_itoa

void _my_itoa(CHAR_T * desString , const unsigned int srcNum, const int arry_len){                int num_len = 0;        unsigned int tempNum = srcNum ;         unsigned int tempNum_l = src

2011-12-14 12:13:01 594

转载 想成为编程高手,从基础做起

很多人想成为编程高手,但是常常他们太急功近利了,经常误入歧途。其实编程的路是不平坦的,你会遇到很多的困难。而这些困难很多情况下是需要你一个人解决的。所有你需要一个准备。当然,我的话可能说得重了点,会吓退一些人。但是只要你有强烈的兴趣,一切都不是问题。下面我就想谈谈我的看法:    (1)关于语言,有人喜欢C,有人喜欢Java,还有人喜欢Delphi。这些都不是问题,问题是你是否真正明白它们的思

2011-12-06 15:20:23 640

转载 序点

序点:什么是序点?简而言之,序点就是这么一个位置,在它之前所有的副作用已经发生,在它之后的所有副作用仍未开始,而两个序点之间所有的表达式或者代码执行的顺序是未定义的!序点规则1:在前一个序点和后一个序点之前,也就是两个序点之间,一个值最多只能被写一次;这里,在两个序点之间,a被写了两次,因此,这种行为属于未定义。 序点规则2:进一步说,先前的值应该是

2011-12-05 18:17:07 1247

转载 【C】为什么静态变量会被初始化为0,而自动变量却不会被初始化?

把自动变量初始化为0的代价,将会增加函数调用的代价。C语言非常注重运行速度。然而,把全局变量区初始化为0,仅仅在程序启动时候产生成本。这也许是这个问题的主要原因。更精确的说,C++并不把静态变量初始化为0,他们有自己的默认值,对于原生类型(native types)来说,这意味着0。

2011-12-05 16:53:53 4384

转载 【C】你能用几种方法交换两个变量的值?------存储器别名的影响

找工作的时候,笔试,面试阶段,我们经常看到这么一道题:不用临时变量,如何交换两个变量的值?很多同学不假思索,写下如下代码:#include     int swap1(int *a, int *b)  {      *a = *a+*b;      *b = *a-*b;      *a = *a-*b;      return 0;  }    int swap2

2011-12-05 16:39:47 1233

转载 【JAVA】JNI技术

JNI技术-1分类: java高级编程 2011-12-01 02:24 149人阅读 评论(0)收藏 举报    什么是JNI呢 就是  java  native interface       是 sun公司提供给我们的一个可以调用本地 非 java语言代码 的接口 .     JNI技术 实现了java调用本地方法 ,但是有破坏了 java的 跨平台性

2011-12-05 16:12:48 490

转载 进程间通信学习总结2---信号量互斥同步

实现线程之间同步采用互斥锁,或条件变量,但互斥锁只有0,1两种状态,适合于线程对共享资源独占访问,很多时候每个资源可以同时被有限个线程访问,此时互斥锁将无法满足;条件变量同步也同样存在这种问题。信号量实际是一种非负整形计数器,可以很好的控制线程之间资源访问,互斥锁能实现的功能,信号量同样可以。信号量控制资源共享主要是PV原语操作, PV原语是对整数计数器信号量sem的操作。一次 P操作使 se

2011-12-05 15:38:33 1218

转载 进程间通信学习小结(共享内存)

要使用共享内存,应该有如下步骤:1.开辟一块共享内存 shmget()2.允许本进程使用共某块共享内存 shmat()3.写入/读出4.禁止本进程使用这块共享内存 shmdt()5.删除这块共享内存 shmctl()或者命令行下ipcrm共享内存可以说是最有用的进程间通信方式,也是最快的IPC形式。两个不同进程A、B共享内存的意思是,同一块物理内存被映射到进程A、B各自

2011-11-21 09:55:43 547

转载 【c】linux socket编程

linux socket 编程(C语言)最近看了一些网络编程的书籍,一直以来总感觉网络编程神秘莫测,其实网络编程入门还是很容易学的,下面这些代码是我在linux下编写的,已经运行过了,编译之后就可以运行了。有不足之处希望大家多多指出,共同学习交流。     套接字是一种进程间的通信的方法,不同于以往介绍的进程间通信方法的是,它并不局限于同一台计算机的资源,例如文件系统空间,共享内存

2011-11-18 18:17:05 627

转载 [C]复杂表达式中的序列点

序列点是一个时间点(在整个表达式全部计算完毕之后或在||、&&、? : 或逗号运算符处, 或在函数调用之前), 此刻尘埃落定, 所有的副作用都已确保结束。ANSI/ISO C 标准这样描述:在上一个和下一个序列点之间, 一个对象所保存的值至多只能被表达式的计算修改一次。而且前一个值只能用于决定将要保存的值。第二句话比较费解。它说在一个表达式中如果某个对象需要写入, 则在同一

2011-11-15 10:48:36 430

转载 windows下 为unix系统共享文件夹的方法

1、确认vmware-tools已经安装好了。这个需要在linux系统下安装。如果是非rpm包的linux系统,会在linux系统里自动挂载一个iso弹出vmtools包,解压缩,然后执行里面的安装脚本进行安装,然后还需进入/usr/bin下(记得好像是)执行以下pl脚本对vmtools进行配置。重启虚拟机发现linux可以修改分辨率时,说明安装好了。vmtools没安装好,share就不能设置;

2011-11-14 14:15:49 1358

转载 Windows下NFS服务器SFU设置

http://blog.chinaunix.net/u1/43045/showart_411683.html一、安装SFU1、下载软件SFUhttp://download.microsoft.com/download/a/1/c/a1ca7af1-a6e3-46e7-874a-4c5d8c0fb3b7/SFU35SEL_EN.exe2、编辑用户组group文 件 和密码passwd

2011-11-14 11:31:21 3378

转载 [C]calloc() 和malloc() 有什么区别?

calloc() 和malloc() 有什么区别?利用calloc 的零填充功能安全吗?free() 可以释放calloc() 分配的内存吗, 还是需要一个cfree()?calloc(m, n) 本质上等价于p = malloc(m * n);memset(p, 0, m * n);填充的零是全零, 因此不能确保生成有用的空指针值或浮点零值(参见第5章)。free()

2011-11-14 11:30:48 671

翻译 【c】GDB 学习

一般来说,GDB主要帮忙你完成下面四个方面的功能:    1、启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。    2、可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)    3、当程序被停住时,可以检查此时你的程序中所发生的事。    4、动态的改变你程序的执行环境。cc -g tst.c -o tst     gdb tst

2011-11-09 16:16:30 563

原创 数字电视学习 三 PSI

1.PSI可认为分属四个表:程序关联表PAT,TS程序映射表PMT,网络信息表NIT,条件访问表CAT。其中NIT为私用表,但带有此表的传送流分组PID值在PAT中说明,NIT仍须满足PSI标准定义的分段结构。PAT,PMT,CAT中的内容由本标准规定。2.每一分段由下列元素组合唯一识别:a.table_id  8位的table_id标示分段所属的表。0x00分段属于程序关联表。0x0

2011-11-01 18:27:15 600

转载 数字电视学习笔记2 ----mpeg2系统部分

1.系统部分强调将一个或更多的音频、视频或其他的基本数据流合成单个或多个数据流,以适应于存储和传送。(系统模块的功能)2.系统编码可以有两种方法:传送流和程序流。这两种方法分别适应于不同的应用。两种流定义都是面向分组的多路复用流。3.程序流(PS)是将一个或多个具有相同时间基点的数据流的PES分组合为单个流。每个程序流PS对应一个原始流(ES),并具有相同的时间基点,在这种

2011-11-01 09:52:32 798

转载 数字电视学习笔记(1)

首先先学习一下mpeg2规范的第一部分“系统”部分。1.ES- elementary streams  原始流,对视频、音频信号及其他数据进行编码压缩后的数据流称为原始流。原始流包括访问单元,比如视频原始流的访问单元就是一副图像的编码数据。2.PES  ----- packetized elementary streams  分组的原始流,原始流形成的分组称为PES分组,是用来传递原始流的

2011-10-28 16:31:48 791

转载 typedef和define具体的详细区别

1) #define是预处理指令,在编译预处理时进行简单的替换,不作正确性检查,不关含义是否正确照样带入,只有在编译已被展开的源程序时才会发现可能的错误并报错。例如:#define PI 3.1415926程序中的:area=PI*r*r 会替换为3.1415926*r*r如果你把#define语句中的数字9 写成字母g 预处理也照样带入。2)typedef是在编译时处理的。它

2011-06-11 13:26:00 425

转载 【c】c语言语法知识点总结 1

1.这样的初始化有什么问题?char *p = malloc(10); 编译器提示“非法初始式” 云云。答:这个声明是静态或非局部变量吗?函数调用只能出现在自动变量(即局部非静态变量) 的初始式中。因为静态变量的地址必须在编译的过程中就确定下来而malloc()申请的内存地址是在运行时确定的。2. *p++ 自增p 还是p 所指向的变量?答:后缀++ 和-- 操作符本质

2011-06-11 13:05:00 1525

转载 判断系统大小端

#includeint is_little_endian(void ){    unsigned int tmp=0x4567;    char * ch = (char * )&tmp;    if(ch[0]==(char)0x67)    {        printf("little_endian/n");        return 1;  //小

2011-06-11 12:31:00 569

原创 【c】序列化图片资源

#include #include #include long my_file_size(FILE *stream){    long curpos, length;    curpos = ftell(stream);    fseek(stream, 0L, SEEK_END);    length = ftell(stream);    fse

2011-06-09 18:24:00 1007

原创 一道上级面试题: 接受单词并按字典序排序

<br />#include<stdio.h><br />#include <string.h><br />#include <stdlib.h><br /><br /><br />#define  LISTMAXSIZE    64<br />#define  STRINGMAXSIZE  1024<br /><br />struct wordList{  //列表结构<br />    char * befor;<br />    char * body;<br />  

2011-06-02 10:58:00 890

原创 驱动编程准备 配置内核树

<br />前言    : 驱动程序和一般用户程序不一样,驱动程序作为一个系统模块连接到内核模块来运行,运行在内核空间里面。所以要开发运行自己构造的模块,首先要配置好一个“内核树”,然后把目标模块和内核树连接起来运行。<br /> <br /> <br />一.首先获得内核源码<br />     1》查看可以下载的Linux内核源码包:<br />          #apt-cache search linux-source<br /> <br />系统显示如下信息:<br />linux-sour

2011-05-17 15:10:00 1115

转载 Ubuntu中安装X-lite遇到libstdc++.so.5

使用ubuntu的可能会遇到libstdc++.so.5这样的问题。可以使用如下的方法解决这个问题。 wget http://security.ubuntu.com/ubuntu/pool/universe/i/ia32-libs/ia32-libs_2....dpkg-deb -x ia32-libs_2.7ubuntu6.1_amd64.deb ia32-libssudo cp ia32-libs/usr/lib32/libstdc++.so.5.0.7 /usr/lib32/

2011-05-12 09:45:00 1131

原创 【DFB】IDirectFBInputDevice 方式处理事件 --键盘移动一个图片显示

<br />#include <stdio.h><br />#include <unistd.h><br /><br />#include <directfb/directfb.h><br /><br />static IDirectFB *dfb = NULL;<br />static IDirectFBSurface *primary = NULL;<br />static IDirectFBSurface *tux = NULL;<br />static int screen_

2011-04-20 18:06:00 1767 1

转载 void 和 void * 的解释

<br />1.概述许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。2.void的含义void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变量,让我们试着来定义:void a;这行语句编译时会出错,提示“illegal use

2011-04-19 16:59:00 491

转载 [DFB] 显示字符串 走马灯效果

<br />//字体显示<br />#include <stdio.h><br />#include <string.h><br />#include <stdlib.h><br />#include <unistd.h><br /><br />#include <directfb/directfb.h><br /><br />static IDirectFB            *dfb = NULL;<br />static IDirectFBSurface       

2011-04-19 16:11:00 1878

转载 DirectFB 代码导读

<br />DirectFB代码导读<br /> <br />转载时请注明出处和作者联系方式<br />作者联系方式:李先静 <xianjimli at hotmail dot com><br /> <br />DirectFB是一个庞大的系统,对它进行彻底分析要花不少时间。幸好多数情况下,只要弄清楚它的基本架构,再重点读一些关键的代码,也就差不多了。前几个月为了完善DFB的窗口管理器,我花了一些时间去研究DFB的架构。把其中一些经验写到这里,供有兴趣的朋友参考。<br /> <br />总的说来,DF

2011-04-18 18:48:00 626

原创 [DFB] 移动鼠标绘制线条

<br />/*1。surface的绘图函数<br />2。如何在surface中获取类似framebuffer的绘制内存地址(去掉代码中的注释)<br />3。eventbuffer的使用,按escape退出,按c 键清屏 ,移动鼠标绘线条 (平滑度有待改进)*/<br /><br /><br />#include <stdio.h><br /><br />#include <directfb/directfb.h><br /><br />static IDirectFB       

2011-04-18 12:19:00 1458

原创 (DFB) 在屏幕中间画一条直线

<br />//函数功能 在屏幕中间画一条水平直线<br />#include <stdio.h><br />#include <unistd.h><br />#include <directfb/directfb.h><br /><br />static IDirectFB *dfb = NULL;//这是最上层的接口所有函数的入口均由它进入<br /><br />static IDirectFBSurface *primary = NULL;//主平面,也就是屏幕了,在交互层使用DF

2011-04-18 10:05:00 1327

转载 [DFB] dfb 对图形的renderto

<br />在看DFB有关图形 renderto的部分。<br />  之前一直以为, DFB是没法对图形进行scale的,但后来在DFB讨论群上,一个网友指点了下,才发现DFB对图形这块有很多好玩和有用的东西,只是我不知道罢了。 下面主要说图形的scale。<br />  DFB绘图的过程,一般是根据图形的ImageProvider,获取图新的DFBSurfaceDescription信息,并根据DFBSurfaceDescription信息来CreateSurface DFB的 ID

2011-04-16 14:50:00 2409

转载 SetCooperativeLevel函数介绍(设置协作等级)

<br />函数声明<br />function SetCooperativeLevel(hWnd: HWND; dwFlags: DWORD): HResult; stdcall;<br />参数介绍<br />hWnd       DirectDraw具体指向的窗体,在所有的情况下,只需使用主窗体句柄。<br />dwFlags<br />控制标志参数,直接影响DirectDraw和Windows协同工作的方式。下面为说明:<br />DDSCL_ALLOWMODEX<br />允许使用Mode X显

2011-04-16 14:39:00 11372

原创 DFB 用键盘和鼠标控制图片移动的小例子

#include #include #include static IDirectFB *dfb = NULL;static IDirectFBEventBuffer        *events  = NULL;static IDirectFBSurface *primary = NULL;static IDirectFBSurface *logo = NULL;//此IDirectFBSurface为用于显示的图片    static DFBSurfaceDescriptio

2011-04-16 13:07:00 2297

原创 有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并 (按字母顺序排列), 输出到一个新文件C中

<br />/*有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中.*/#include <stdio.h>#include <stdlib.h>int comp(const void * a, const void *b){ return *(char *)a - *(char *)b;}int main(){ FILE *fp; int i,j,n,ni; char t, ch; char

2011-04-12 15:13:00 13872

原创 string.h 中 关于数据拷贝的几个函数测试

<br />//strcpy     memcpy   strdup  bcopy<br /> <br />#include <stdio.h><br />#include <string.h><br /><br />#define DEST_ARRY_LEN    16<br />int my_arry_printf(char * name, char arry [])<br />{<br />    int i;<br />    printf("%s:" ,name);<br

2011-04-11 17:29:00 669

原创 将十六进制参数转换成点分十进制 -- 将点分十进制参数转换成十六进制

<br />#include <stdio.h><br />#include <stdlib.h><br />#include <string.h><br /><br />#include <sys/socket.h><br />#include <netinet/in.h><br />#include <arpa/inet.h><br /><br />/*将十六进制参数转换成点分十进制 <br />例如:0x8002c2f2  ->128.2.194.242<br />*/

2011-04-11 11:34:00 7129 2

原创 http 请求响应码

<br /><br />响应码分五种类型,由它们的第一位数字表示:<br /><br />1.1xx:信息,请求收到,继续处理<br />2.2xx:成功,行为被成功地接受、理解和采纳<br />3.3xx:重定向,为了完成请求,必须进一步执行的动作<br />4.4xx:客户端错误,请求包含语法错误或者请求无法实现<br />5.5xx:服务器错误,服务器不能实现一种明显无效的请求<br />下表显示每个响应码及其含义:<br />100            继续<br />

2011-02-21 12:28:00 1580

转载 gnash 文档说明

<br />gnash文档说明:<br />gnash可以被用作标准播放器或者是一个流览器插件,输入命令行:<br />gnash 路径/文件.swf<br />将会创建一个窗口并播放flash。<br />gnash [选项] 文件名.swf<br />-h 打印用法说明<br />-s factor 放大缩小图象相应倍数<br />-c产生内核文件来代替让SDL捕获它,缺省情况下,SDL捕获所有信号,但是有时候内核文件可以帮助调试<br />-d num 主循环延时的微秒数,值越小,cpu负载越

2011-02-21 12:23:00 1538

原创 GNASH 移植

<br />Gnash 是一个发布在 GPL 许可下的 SWF 播放器,并为 Firefox、Mozilla、Konqueror 等浏览器提供插件支持。官方网址: http://www.gnashdev.org/    。Gnash 支持很多 SWF v7 的特性和 ActionScript 2 类,对于 SWF v8 及 SWF v9 的支持仍在开发中。除了能够运行在很多 GNU/Linux 发行版上外,Gnash 还支持嵌入式 GNU/Linux、FreeBSD、NetBSD、OpenBSD、非

2011-02-15 18:02:00 5064

转载 #define 定义的数据中包含有UL符号

<br />经常发现一些C语言中通过#define 定义的数据中包含有UL符号,不理解为什么,把他去掉发现也没有什么区别。<br />现在才明白UL是标记该宏长整型 十进制 数据,而不是字符,也不是int型数据。<br />C语言中默认宏中的数字是整型数据。<br />如下面的例子:<br />#define LENGTH (20*1024*1024)UL<br />你要输出他的话就要这样:<br />printf(“LENGTH is %ld/n”,LENGTH);

2011-02-12 15:43:00 1543 1

MTK6235函数.pdf (英文版)

MTK 6235的函数接口,找了好久才找到,全英文,看的比较费劲,希望对大家有用。

2010-08-12

MTK入门学习教程事例一对一

适合mtk新手学习的文档、资料,里面有详细的事例教程,手把手教学,希望对想进入MTK的程序员有帮助。mtk相关开发资料比较少,这个是我很辛苦才找到的,分享一下。

2010-08-04

J2Me 自制俄罗斯方块 源代码

自己编写的俄罗斯方块 ,放上去大家一起学习,

2009-10-23

空空如也

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

TA关注的人

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