- 博客(21)
- 资源 (11)
- 收藏
- 关注
原创 定制模拟器SDK
有段时间总想定制个模拟器来测试程序,一直未能成功。下面介绍用PB来定制模拟器SDK的步骤:1、下载模拟器BSP包,名字叫DeviceEmulatorBSP,1M多点,并安装2、用PB新建平台,选择Microsoft DeviceEmulator BSP。3、继续后面的选择,直到向导完成。4、添加需要的组件,设置好平台后,sysgen,编译nk5、完成nk的编译后,选择Platf
2009-12-24 08:57:00 844
转载 C++类对象内存结构
首先介绍一下C++中有继承关系的类对象内存的布局: 在C++中,如果类中有虚函数,那么它就会有一个虚函数表的指针__vfptr,在类对象最开始的内存数据中。之后是类中的成员变量的内存数据。 对于子类,最开始的内存数据记录着父类对象的拷贝(包括父类虚函数表指针和成员变量)。 之后是子类自己的成员变量数据。 对于子类的子类,也是同样的原理。但是无论继承了多少个子类,对象中始终只有一个虚函数
2009-12-01 19:33:00 1199 1
原创 一段简单程序引发的栈故事
先看下面一段程序:#include #include char* Test(){ char p[] = "hello world!"; return p;}int main(int argc, char* argv[]){ char *str = NULL; str = Test(); int n = strlen(str); print
2009-10-27 16:18:00 767
原创 简单事件驱动 (控制台程序)
程序功能描述:从控制台接受输入数字,推出前输出所输入数字的总和。 事件句柄描述:ev1用来输入和计算数字总和,ev2用来退出,ev3用来同步主线程和副线程的输入。 #include HANDLE ev1,ev2,ev3;DWORD CALLBACK ThreadProc(){ int num,sum = 0; DWORD ret; while(WaitF
2009-10-27 11:14:00 810
转载 UNICODE,GBK,UTF-8区别
简单来说,unicode,gbk和大五码就是编码的值,而utf-8,uft-16之类就是这个值的表现形式.而前面那三种编码是一兼容的,同一个汉字,那三个码值是完全不一样的.如"汉"的uncode值与gbk就是不一样的,假设uncode为a040,gbk为b030,而uft-8码,就是把那个值表现的形式.utf-8码完全只针对uncode来组织的,如果GBK要转UTF-8必须先转uncode码,
2009-10-27 10:32:00 563
转载 C语言常用排序全解
引用地址: 【转lingang_】 原地址: http://www.yuanma.org/data/2008/0421/article_3011.htm/*=============================================================================相关知识介绍(所有定义只为帮助读者理解相关概念,并非严格定义):1、稳定排序和非稳定
2009-09-24 23:13:00 515
原创 一个简单线程类的实现
很多时候,在C++类中,我们需要创建一个辅助线程,用来处理后台的数据,每当敲起代码来的时候却发现有很多顾虑,线程过程函数必须为全局或者静态函数,而在静态函数类部又不能调用本类的非静态成员函数,总感觉每一步得小心谨慎,像黑夜的时候光脚赶路一样,想走快却又怕被石子绊住。 下面实现一个简单线程类,方便调用:#include class CThread{public:
2009-09-24 21:42:00 820
原创 wince碰到的错误及解决方法
1、Error: Incorrect number of tokens found parsing file 解决办法:错误是由于在bib文件中,某个文件无法编译进内核引起,根据提示找到该文件,仔细核对是不是格式符合要求。 2、构建模拟器工程失败的临时解决办法。用PB建模拟器工程,选择sysgen失败,打开build.log查到这个错误:NMAKE : fatal error
2009-09-11 16:59:00 1176
原创 也谈流驱动的动态加载
最近在做摄像头的驱动,弄得七七八八了,可惜后端不支持300w像素的拍照,公司为了减成本,需要再换个摄像头,趁新的模组还没到,研究下在做驱动过程中碰到的问题,其中一个就是驱动加载的问题。之所以在文章标题上加个"也",是因为曾经有人已经做过类似的工作,而且将驱动的加载和卸载弄了个程序,可惜没开放源代码(反正我是没看见),用起来也并不怎么方便,像我这种懒人,用了一次就没用了,一直都是烧内核烧过来的。
2009-09-04 15:51:00 892
原创 如何更新Catalog
对CEC文件作了修改后,并不能马上体现在catalog中。有些情况下想新增一个组件或者驱动,同时可以在catalog窗口中可以提供选择。 做法是:File--->Manage Catalog Items--->选中所修改的cec文件--->remove--->import,选择修改的cec文件,OK即可
2009-08-10 20:26:00 1026 1
原创 让驱动自己被加载
接触wince一段时间了,如果从摸这个算起,差不多都两年时间了,中间断断续续摸了linux和u/cos,接触的大都是应用方面的东东。今天写了个简单的gpio驱动在板上跑了起来,中间费了点周折,现在想想都不值得拿来说了,还是记录下来,作为成长经历吧。废话不表,说实际内容。 第一步,加代码。在$(_TARGETPLATROOT)/SRC/Drivers 目录下新建一文件夹,例如:First
2009-08-06 20:42:00 1242 2
原创 编译内核,提示内核过大错误解决方法
"image is too large for current ram and ramimage settings“ 这种错误是由于加了新的组件或者资源导致内核文件大小超过设置的大小,修改方法一般不外乎这两种: 1、裁剪内核大小2、修改内核空间配置的大小 在实际空间允许的情况下,选择了第二种,方便简单,修改后处对比如下(config.bib文件):修改前:
2009-08-05 11:17:00 1742
转载 Wav格式剖析 (转)
原文:http://sites.google.com/site/duomeitijishujichu/ke-cheng-zi-yuan/wav-ge-shi-pou-xiWav格式剖析 WAVE文件作为多媒体中使用的声波文件格式之一,它是以RIFF格式为标准的。RIFF是英文 Resource Interchange File Format的缩写,每个WAVE文件
2009-03-23 10:24:00 751
原创 常用算法集
冒泡排序://简单数据类型void SetOrder(int *Array){// 升序 int iX,iY; int ltag; for(iY = 0; iY < m_iTagCount; iY++) { for(iX = 1; iX < m_iTagCount - iY; iX++) { if(Array[iX] < Array[iX-1]
2009-03-04 21:42:00 624
原创 歌词同步的实现(lrc)
lrc是一种开放的文件格式,用来实现歌词和音乐的同步显示。用文字编辑器打开lrc文件会很容易发现,几乎每行都包含有如[*:*]的格式,称之为标签。标签分为两种,一种如[3:12.78]类的称为时间标签,表示与音乐同步的时间,精确到0.01秒;另一种如[ar:xxx]类的称为标识标签,表示一些附加的信息,如歌曲家,歌词编辑者等等,没特别需要,将其忽略。 所以,同步主要是对时间标签的
2009-02-28 16:07:00 2204
原创 实现透明无闪滚动文本
#include "stdafx.h"#include "TxtStatic.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif////////////////////////////////////////////////
2009-02-19 20:14:00 916 1
原创 Button的自绘制
自绘制在UI设计中经常用到, 特别是WinCE下,为了使界面美观并具有个性化,一般的控件都使用了自绘制功能。下面简单介绍Button的自绘过程。void ODButton::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct){ CDC dc; CRect rc; rc = lpDrawItemStruct->rc
2008-12-18 20:02:00 849
原创 使用双缓冲显示位图
void xxxDlg::ShowBitmap(){ CDC memDC; CBitmap bmpShow; BITMAP bmpInfo; CDC* pCurDC = GetDC();//得到当前DC memDC.CreateCompatibleDC(pCurDC);//创建兼容的内存DC bmpShow.LoadBitmap
2008-12-17 23:00:00 1136
原创 一段大家熟悉的汇编代码分析
org 07c00h ; 告诉编译器程序加载到7c00处 mov ax, cs mov ds, ax mov es, ax call DispStr ; 调用显示字符串例程 jmp $ ; 无限循环DispStr: mov ax, BootMessage mov bp, ax ; ES:BP = 串地址 mov cx, 16
2008-12-13 01:04:00 992 2
原创 开博宣言!
决心以后有什么心得或者总结一定要写出来和大家一起分享,互相学习交流,以此来激励自己的同时,亦能帮助他人或者被他人帮助,呵呵! 各位朋友,大家好,以后请多多指教!
2008-12-11 20:36:00 511
Wince 流驱动 编写实例
2009-08-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人