自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

DMT专栏

不积跬步,无以至千里;不积小流,无以成江海

  • 博客(44)
  • 资源 (101)
  • 问答 (2)
  • 收藏
  • 关注

原创 vector中capacity()和size()有什么不同?

在学习vector时看到capacity()和size()都是求容器在内存中分配的大小,为什么两者得到的结果却不一样呢?下面把代码和结果贴出来和大家分享下!注:以下结果是在vs2005下编译的。void capacity(){ vectorv; cout << "初始值" << endl; cout << "v.size() = " << v.size() << "\tv.

2011-11-08 18:49:05 911

转载 图文详解如何搭建Windows的Android C++开发环境(一) .

//=====================================================================//TITLE://    图文详解如何搭建Windows的Android C++开发环境(一)//AUTHOR://    norains//DATE://    Thursday  14-April-2011//Environ

2011-11-04 19:35:50 581

转载 Wince读取ini的CIniParse类

//========================================================================//TITLE://    Wince读取ini的CIniParse类//AUTHOR://    norains//DATE://    Monday 22-December-2008//Environment://

2011-11-04 19:32:13 587

转载 如何写优雅的代码(1)——灵活使用goto和__try:评论反馈

//========================================================================    //TITLE:    //    如何写优雅的代码(1)——灵活使用goto和__try:评论反馈    //AUTHOR:    //    norains    //DATE:    //    Tuesday

2011-11-04 19:25:24 658

转载 如何写优雅的代码(1)——灵活使用goto和__try

//========================================================================//TITLE://    如何写优雅的代码(1)——灵活使用goto和__try//AUTHOR://    norains//DATE://    Thursday  16-July-2009//Environment:

2011-11-04 19:23:48 702

转载 如何写优雅的代码(2)——#define?const?还是enum?

//========================================================================    //TITLE:    //    如何写优雅的代码(2)——#define?const?还是enum?    //AUTHOR:    //    norains    //DATE:    //    Tuesday

2011-11-04 19:22:34 616

转载 如何写优雅的代码(3)——合理选择函数形参

//========================================================================    //TITLE:    //    如何写优雅的代码(3)——合理选择函数形参    //AUTHOR:    //    norains    //DATE:    //    Tuesday  21-July-200

2011-11-04 19:20:56 530

转载 如何写优雅的代码(4)——简单有效地玩转线程

//========================================================================//TITLE://    如何写优雅的代码(4)——简单有效地玩转线程//AUTHOR://    norains//DATE://    Monday 23- November-2009//Environment:/

2011-11-04 19:18:52 530

转载 如何写优雅的代码(5)——远离临界区噩梦

//========================================================================//TITLE://    如何写优雅的代码(5)--远离临界区噩梦//AUTHOR://    norains//DATE://    Tuesday 01- December-2009//Environment://

2011-11-04 19:17:41 726

转载 结构体等值的比较

//=====================================================================//TITLE://    结构体等值的比较//AUTHOR://    norains//DATE://    Tuesday 19- January-2010//Environment://    WINDOWS //

2011-11-04 19:14:57 596

转载 WinCE的内存泄露

//=====================================================================//TITLE://    WinCE的内存泄露//AUTHOR://    norains//DATE://    Thursday 28- January-2010//Environment://     WINDOWS

2011-11-04 19:13:34 526

转载 获取WinCE进程的内存信息

//=====================================================================//TITLE://    获取WinCE进程的内存信息//AUTHOR://    norains//DATE://    Wednesday 3- February-2010//Environment://     WIN

2011-11-04 19:12:25 648

转载 WinCE驱动的动态加载

//=====================================================================//TITLE://    WinCE驱动的动态加载//AUTHOR://    norains//DATE://    Monday 22- February-2010//Environment://     WINDOWS

2011-11-04 19:11:04 514

转载 一步一步跟我搭建Windows CE 6.0 R3开发环境

//=====================================================================//TITLE://    图文并茂:一步一步跟我搭建Windows CE 6.0 R3开发环境//AUTHOR://    norains//DATE://    Tuesday 30- March-2010//Environm

2011-11-04 19:09:20 928 2

转载 大话嵌入式CPU的WinCE烧录

//=====================================================================//TITLE://    大话嵌入式CPU的WinCE烧录//AUTHOR://    norains//DATE://    Friday 16- April-2010//===========================

2011-11-04 19:07:13 577

转载 如何写优雅的代码(5)--不一样的类用法

//=====================================================================//TITLE://    如何写优雅的代码(5)--不一样的类用法//AUTHOR://    norains//DATE://    Tuesday 20-April-2010//Environment://    Vis

2011-11-04 19:06:15 455

转载 DirectShow和媒体文件

//=====================================================================//TITLE://    DirectShow和媒体文件//AUTHOR://    norains//DATE://    Monday 24-May-2010//Environment://    Windows CE

2011-11-04 19:03:55 449

转载 截断过长字符串为省略号算法

//=====================================================================//TITLE://    截断过长字符串为省略号算法//AUTHOR://    norains//DATE://    Wednesday 02-June-2010//Environment://    Windows C

2011-11-04 19:03:09 616

转载 IPhone平滑滚动效果的实现

//=====================================================================//TITLE://    IPhone平滑滚动效果的实现//AUTHOR://    norains//DATE://    Monday 14-June-2010//Environment://    Windows CE

2011-11-04 19:01:39 486

转载 USB软硬件知识之五:WINCE USB设备驱动程序导读

随着USB设备的不断增加,我们这些开发人员也就多了对USB设备进行驱动程序开发的工作。通过本文,我希望能让更多的朋友理解Windows CE下对USB设备的驱动模型及样例程序中的实现过程,以样例代码为基础理顺USB设备驱动程序的开发思路。在看样例程序之前,我们就先来看下图:                                   在此图中,我们可以非常清晰的看到主机和物理外设之

2011-11-03 19:27:06 728

转载 全局函数如何访问对话框控件

很多时候我们在一个全局函数中会访问到应用程序控件,由于全局函数不属于具体的某个对话框类,所以它里面是无法直接访问某个对话框,当然也就访问不到对话框控件了。有以下几种情况和对应的处理方式。(1)全局线程函数中利用线程参数访问对话框控件      创建一个对话框后,放置一个进度条,添加对应的控制变量myProgressCt,在CPP添加一个线程控制标志volatile BOOL m_bRun2

2011-11-03 19:25:37 1299

转载 Windows CE 6.0注册表示例,及注册表监控函数

Windows CE 6.0有4个基本的注册表键值, HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_USERS,其它的都是这4个注册表的子键。我们以一个内建的串口驱动为例,它在注册表文件Platform.reg中的描述如下:[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/Serial]

2011-11-03 19:24:26 882

转载 控制Windows Mobile的LED之四:多色呼吸LED SN3199的驱动

SN3199是一款多色呼吸的LED驱动控制芯片,用来支持我目前项目上的LED控制。因为项目需求在内核和BOOT LOADER中都需要闪烁,所以用这种One Shot控制的芯片是最有效最省资源的。      芯片采用I2C控制方式,通讯时序如下:以上是典型的读写方式,该芯片还支持地址自加模式,即只要往某地址写入了一系列数据,后续的数据会自动写入接连自加的地址中。时序图如下:所以读

2011-11-03 19:22:53 669

转载 Mobile的SD卡升级系统之一:两种升级方式

要实现sd卡升级操作系统发现目前有两种方式,在CE下和在bootloader下都可以实现更新NK。(1)在CE下,可以直接用文件系统API读出NK.bin,放到内存buffer中,在通过DEVICEIOCTL的方式来调用nand驱动的一些接口来直接对nand flash进行写操作。好处:跳过boot section,FAT/FAT32文件系统的解析;对内存大小无要求。缺点:NAND驱动

2011-11-03 19:22:06 722

转载 Mobile的SD卡升级系统之二:热升级

开机升级主要是通过读取U盘中的内核文件,然后把它替换掉旧的文件就可以了。要实现在系统下应用程序直接调用FMD_ReadSector()和FMD_WriteSector()读写FLASH是不行的。但是可以通过FMD_OEMIoControl()函数来实现。所以要在FMD_OEMIoControl添加我要想要的函数。如下:(1)BOOL  FMD_OEMIoControl(DWORD dwIo

2011-11-03 19:20:14 495

转载 FAT16文件系统格式说明

本文回答了什么是FAT16文件系统,并对它进行很好解析。在嵌入式开发中,一般会在flash中建立该文件系统。在很多DOS系统中也用该文件系统。硬盘上的数据按照不同的特点和作用大致可分5部分:MBR区、DBR区、FAT区、DIR区和DATA区。我们来分别介绍一下: (1)MBR区(主引导扇区)      MBR (Main Boot Record),按其字面上的理解即为主引导记录区,位于整个

2011-11-03 19:13:58 1667

转载 WinCE EBOOT中的Optional函数和BootPart分析

在WinCE的EBOOT中,有一些函数属于Optional的OEM函数,也就是可选择实现的。这些函数会在BLCOMMON模块中被调用,我们需要在EBOOT中实现它们,然后把实现的函数赋值给BLCOMMON中的相应的函数指针上面就可以了,这样BLCOMMON模块在调用这些Optional函数的时候,会首先检查他们是否为NULL,如果为NULL就不执行,如果不是NULL就运行这些函数。

2011-11-03 19:12:48 492

转载 UART之三:PXA平台WIN MOBILE的UART底层

(1)铺垫       PXA270中有三个UART接口,分别叫FFUART、BTUART和STUART。FFUART(FullFunction)拥有8根符合16550A标准的信号线(地线除外)。FFUART可以用来处理任何和UART兼容的通信;接下来是BTUART(BlueTooth),从它的名字可以知道它是推荐给BT(蓝牙)使用的接口,它拥有常用的四根信号线RXD/TXD/CTS/DTR,

2011-11-03 19:04:40 638

转载 WINCE的RTC驱动

RTC就是实时时钟(real time clock)。目前大部分32bit处理器都自带RTC模块,也有外接RTC模块的。一般外接的RTC都是通过I2C来访问。如果CPU本身自带RTC,那通过读取内部寄存器就能访问RTC模块。如果是外接的,还要写个I2C的驱动来访问外部RTC模块。(1)主要函数      在WinCE6.0里面,RTC的驱动是在OAL里面实现的,文件名一般都叫rtc.c。在

2011-11-03 19:03:24 510

转载 基于线程的WINCE测试程序

在嵌入式开发中,我们通常会碰到需要测试驱动程序完整性效果的地方。比如,一个LED工作在不同模式下会体现不同的特性,由于多种工作模式不容易模拟出来,这个时候我们要使用随机数程序来生成LED全部的工作路径,从而来测试LED驱动的完整性。       在线程中建立随机数执行路径,有两种方式:(1)WaitForSingleObject带无限时间HANDLE Nled_Test_Event;

2011-11-03 19:02:10 437

转载 WIFI之三:WIN MOBILE平台上的88W8688驱动

(1)缩写术语OID-object identifierSSID-service set identifier BSS-basic service setESS-extended service setRSSI-received signal strength indicationNIC-Network Interface CardsNDIS-Network Drive

2011-11-03 19:01:05 1073

转载 WIFI之四:WINCE 500上WIFI工具的编写

在 Windows CE 下自带有无线网卡的配置和连接程序,但是如果系统剪裁掉了资源管理器和任务栏,就会导致自带的无线网卡配置程序不能再使用了,那么可以利用微软自带的WZC函数来重新编写一个新工具。      所以设置WIFI,第一步就是要获取这个无线路由器的名称,WINCE 500提供了获取这个名字的API,叫WZCQueryInterfaceEx(),用这个函数需要升级PB补丁到最新版,不

2011-11-03 18:59:58 849

转载 WINCE的电源管理

(1)WINCE电源管理的架构                                          使用电源管理器,设备可以接收电源状态改变的通知,这个通知是以I/O控制的方式(IOCTL控制码)的方式来和设备驱动通信的。因为I/O控制运行在线程上下文环境中,驱动开发者可以很灵活去实现电源状态的改变。使用I/O控制的方式来管理电源也可以让设备电源状态独立于整体的OS电源状态。

2011-11-03 18:58:47 520

转载 WINCE背光驱动

在大多2440开发板WINCE 5.0 的BSP中,SMDK2440/DRIVERS/backlite目录下一般都有背光驱动。开机时确实可以打印"!!!!!!!!!!!! BACKLIGHT ON !!!!!!!!!!!!,如果没有操作大概1分钟后也可以打印!!!!!!!!!!!! BACKLIGHT OFF !!!!!!!!!!!!。但打印 OFF后,就算有触发事件(在触摸屏上点击)也不会打印"

2011-11-03 18:56:47 538

转载 WinCE平台上的DMA

CEDDK提供了DMA的相关函数,在CEDDK/DDK_DMA/ddk_dma.c中定义。最有用的就两个函数,HalAllocateCommonBuffer(..)和HalFreeCommonBuffer(..)分别用于为DMA申请和释放内存。(1)首先介绍一下会用到的DMA适配器结构,在ceddk.h中定义,如下:typedef struct _DMA_ADAPTER_OBJECT_

2011-11-03 18:55:27 499

转载 WINCE 音频驱动之一:分类

CE目前有3种音频模式:MDD/PDD、WaveDev2和UAM。这些模式的存在是有历史原因的,下面具体说明一下。首先,这3个模式是使用同一套WaveAPI的驱动接口,在系统中以驱动形式存在,都会导出WAV_Open、WAV_Close等接口。通过IoControl带入IOCTL_WAV_MESSAGE,与waveapi的子系统配合使用。对下都是控制硬件,它们不同之处在于内部的设计。(1)MD

2011-11-03 18:54:04 613

转载 WINCE 音频驱动之二:驱动模型

音频驱动采用Wavedev2模式来实现,这是单层的驱动模式,平台相关的都在hwctxt.h和hwctxt.cpp中,此外还加入了midi支持、software mixer支持、S/PDIF接口、gain class接口、forcespeaker接口等等。                                                            (1)音频系统的软

2011-11-03 18:12:38 653

转载 VC为什么会输出烫

VC经常输出烫的原因是,在vc的debug编译选项下,栈区的未初始化数据,每一个byte都被设置为0xCC,cccc的汉字编码就是烫。比如:(1)#include #include int main(int argc, char* argv[]){      char c[12];      printf("%s",c);      return 0;}

2011-11-03 18:11:00 865

转载 如何批量去除PDF文档的水印 .

现在的互联网时代是一个共享的时代,我们会经常从网络上面下载一些文件资料等等,那么是不是经常会遇到一些网站上的PDF文件会含有该网站的水印或者网址链接等等,接下来我们就是要讲怎样去水印。        单个PDF页的水印很容易去掉,比如用foxit pdf editor就可以。但是如果要批量去除PDF文档的水印,则需要用到这两个软件:Adobe acrobat 8 professional 和P

2011-11-03 18:08:31 9073 2

转载 整型数转成字符,以及itoa,atoi .

(1)将整型数12345转单字符输出,需强记几个字符的ASCII码:NULL的是0;0的是0X30;A的是0X41;a的是0X61。程序如下:int main(int argc, char* argv[]){        unsigned int num=12345,temp=0;       unsigned char Array[5]={0,0,0,0,0};

2011-11-03 18:05:14 543

网络收音机2014.09.23

在前面提到Android网络收音机--使用Vitamio解码(一)实现了播放流媒体文件,但只能播放一次,在这里可以随机点击左边的menu来播放,但有的uri已经过期无法播放了,我下载了一个PC版的网络收音机来对比,如果PC上能播放,在这里也是能播放的,使用了网上的一些图片,先看下修改后的界面

2014-09-23

观察者模式

观察者设计模式的定义:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。

2014-09-15

网络收音机

使用Vitamio作为解码库,播放网络收音机,目前只是一个初期的项目,可以播放,但不能进行切换

2014-09-12

SlidingMenu测试程序2

在前面已经介绍了SlidingMenu的用法:Android开源项目SlidingMenu的学习笔记(一),接下来再深入学习下,根据滑出项的Menu切换到对应的页面

2014-09-04

SlidingMenu测试程序1

SlidingMenu是目前在应用程序上很流行的一种UI技术,可以实现一种比较炫的滑动效果,SlidingMenu是Git上托管的一个项目,开源免费的

2014-09-02

策略模式示例

策略模式的定义:定义算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

2014-08-30

ListViewDemo

要想优化ListView首先要了解它的工作原理,列表的显示需要三个元素:ListView、Adapter、显示的数据;

2014-08-30

模板方法模式

模板方法模式的定义:在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。

2014-08-28

适配器设计模式

适配器模式的定义是:将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以作无间。

2014-08-28

include标签的使用

由于Android系统对硬件的要求较高,并且上层应用都是用Java(效率要比C++低)编写的,对程序的优化就成了程序员的日常工作了;Android的优化 可以从以下几个地方下手:布局优化、数据库优化、使用异步加载数据、使用缓存技术、算法代码优化、使用线程池

2014-08-20

自定义提示框

在开发中,如果感觉系统自带的提示框不好看,开发者可以自己定义提示框的样式,主要是继承Dialog

2014-08-15

解析中国天气网的Json数据

一个简单的例子,解析中国天气网的Json数据

2014-08-11

测试android:persistent="true"

由于配置了android:persistent="true"属性,并且Phone.apk是安装在/system/app/目录下的,所以在开机时会自动启动PhoneApp类

2014-08-04

Phone流程示例

为了加深理解,我也自己写了一个例子,的GsmCallTracker开一个线程去随机模拟电话状态的改变

2014-08-02

ZXing3.1.0示例简化

ZXing项目,它提供二维码和条形码的扫描。扫描条形码就是直接读取条形码的内容,扫描二维码是按照自己指定的二维码格式进行编码和解码

2014-07-30

ZXing3.1.0示例代码

ZXing是一个开放源码的,用Java实现的多种格式的1D/2D条码图像处理库,它包含了联系到其他语言的端口。Zxing可以实现使用手机的内置的摄像头完成条形码的扫描及解码。该项目可实现的条形码编码和解码。

2014-07-24

v0.9.8 版本的VCL For Android 播放器

能在Eclipse下编译的VLC For Android 播放器,需要安装SDK 19 ,导入方法可以参考http://blog.csdn.net/deng0zhaotai/article/details/38032645

2014-07-22

JNI第一个程序

在Android上要想开发出高效率的软件,还是需要用到C/C++语言,要想在Java上开发C/C++语言就需要在IDE上安装NDK;在Android的官网上SDK开发环境已经包含了ADT插件

2014-06-23

解析XML的三种方式

XML(Extensible Markup Language)可拓展标记语言,它与HTML一样,都是SGML(标准通用标记语言),它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 它非常适合万维网传输,提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。在Android下有三种方式解析XML,分别为SAX、DOM、PULL;它们有各自的特点,在网络编程中会经常使用,根据实际情况选择哪一种解析方式。

2014-05-29

重写ViewPager修改滑动灵敏度

使用ViewPager作为一个页面进行切换,里面可以存放很多View,但有时在操作View时不小心滑动一下就有可能跳到下一页,这并不是我们想要的,这里就需要重写ViewPager修改它的滑动条件

2014-05-22

Gradle配置

在Android Studio上使用Gradle配置来管理我们的App,附件中就是测试代码

2018-01-20

UIKit相关示例代码

收集IOS的UIKit中一些常见控件的示例代码,有很多是在storyboard中定义的

2016-12-29

UIView相关示例代码

包含了UIView UILabel UIImageView UIImage的常见用法,UIButton启动另一个界面的方法,关闭一个界面的方法。

2016-12-19

使用手机搭建服务器源码

使用手机搭建服务器,使用同一网段电脑访问 传输层协议可以分为TCP与UDP,下面分别介绍下这两种协议的特点。 TCP(Transmission Control Protocol): 1.面向连接 2.传输可靠 3.速度慢(传输效率低) 4.面向字节流 UDP(User Data Protocol): 1.无连接 2.传输不可靠 3.速度快(传输效率高) 4.面向报文

2016-09-22

greenDAO的Eclipse工程

从GitHub上下载的greenDAO源码,重新在Eclipse上构建的工程,结合 http://blog.csdn.net/deng0zhaotai/article/details/51490860 http://blog.csdn.net/deng0zhaotai/article/details/51491305 更容易理解

2016-05-24

Launcher3原码

Android 4.4中的Launcher3原码

2016-05-14

短信提醒功能

通过查询语句:Cursor cursor = mContext.getContentResolver().query(Uri.parse("content://sms"), null, "type = 1 and read = 0", null, null);打印可以看到数据库中所有的列字段

2015-11-07

MediaFile.java

MediaFile.java 手动添加一种格式类型添加到数据库

2015-06-03

MediaInfo_GUI_0.7.67_Windows.3243836749.exe

mediainfo 可以查看视频文件的编码格式

2015-06-03

Android黑屏死机log

Android黑屏死机--充电运行土豆视频【.4.4】》播放视频中黑屏死机》手动按电源键开机显示电量为6%

2015-05-28

Android终端模拟器

安装到Android上的终端模拟器,非常方便

2015-04-16

Volley测试程序2

Volley是2013年Google I/O上发布的,它是Android平台上的网络通信库,对常用的网络通信功能作了封装,能使网络通信更快,更简单,更健壮。以前使用网络通信一般都是用AsyncTaskLoader、HttpURLConnection、AsyncTask等。

2015-04-10

Volley测试程序

Volley是2013年Google I/O上发布的,它是Android平台上的网络通信库,对常用的网络通信功能作了封装,能使网络通信更快,更简单,更健壮。以前使用网络通信一般都是用AsyncTaskLoader、HttpURLConnection、AsyncTask等。

2015-04-10

Volley源码与jar包

Volley是2013年Google I/O上发布的,它是Android平台上的网络通信库,对常用的网络通信功能作了封装,能使网络通信更快, 更简单,更健壮。以前使用网络通信一般都是用AsyncTaskLoader、HttpURLConnection、AsyncTask等。 Volley适合数据量小但通信频繁的情况下

2015-04-10

CTS环境助手

cts的测试环境助手,有android kk版本和android l版本的apk,安装apk

2015-02-02

ImageWriter启动

由于最近在公司使用的是Ubuntu12.04,也想自己尝试弄个U盘启动来安装一个Ubuntu12.04,在网上搜了下,有人推荐ImageWriter.exe,下载后在虚拟机的xp系统上无法运行,报以下错误 .net framework initialization error unable to find a version of the runtime to run this application

2014-12-31

修改后的android4.4原生launcher3

修改后的原生Android4.4 launcher3,可以在eclipse上进行调试运行

2014-12-22

android4.4原生launcher3

android4.4上原生的launcher3代码

2014-12-20

下拉刷新Wifi信息

有些列表信息需要手动去更新,此时比较常用的就是下拉刷新列表,在这里就使用下拉列表来刷新当前Wifi信息

2014-09-24

装饰者模式

装饰者模式定义:动态的将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。 设计原则:类应该对扩展开放,对修改关闭

2014-09-23

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

TA关注的人

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