自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (7)
  • 收藏
  • 关注

转载 WINCE 加入驱动DLL步骤

1 主要文件1)驱动程序源代码文件,例如driver.c;2)驱动程序头文件,例如driver.h;3)动态库导出文件,例如driver.def;4)makefile 文件,文件名固定为makefile,该文件指出了驱动程序的编译和链接方法,但实际上该文件并不做什么事情,具体的方法由sources 文件进行设置,一般来讲,所有驱动的makefile 文件都一样,直接拷贝过来

2015-08-26 22:58:38 458

转载 CTL_CODE定义中Method的说明

我在上一篇中说明CTL_CODE的时候,其中CTL_CODE定义中有一个Method域,该域的功能意义是定义用于与在驱动程序中获取应用程序数据缓冲区的地址方式。如果你看了我前边的文章,你可以看到在DeviceIoControl的使用说明中对DeviceIoControl参数进行描述中关于lpInBuffer 和lpOutBuffer 的描述。简单的说,Method域就是定义了lpInBuffe

2015-08-26 22:54:39 284

转载 DeviceIoControl的使用说明

应用程序和驱动程序的通信过程是:应用程序使用CreateFile函数打开设备,然后用DeviceIoControl与驱动程序进行通信,包括读和写两种操作。还可以用ReadFile读数据用WriteFile写数据。操作完毕时用CloseHandle关闭设备。我们比较常用的就是用DeviceIoControl对设备进行读写操作。先看看DeviceIoControl是怎么定义的:BOOL Devic

2015-08-26 22:52:33 359

转载 CTL_CODE说明

我们在说DeviceIoControl函数时其第二个参数dwIoControlCode就是由CTL_CODE宏定义的,下边我们可以了解一下CTL_CODE的内容。CTL_CODE:用于创建一个唯一的32位系统I/O控制代码,这个控制代码包括4部分组成:DeviceType(设备类型,高16位(16-31位)),Access(访问限制,14-15位),Function(功能2-1

2015-08-26 22:49:01 369

转载 WINCE驱动程序快速入门

有人也许和我一样比较心急,想尽快知道如何去写一个具体的驱动程序,这里,假设您对驱动程序已经有比较好的了解,告诉大家一个快速上路的方法。当然,如果您有足够的时间我建议在动手之前还是深入了解一下CE整个系统架构。在CE中,最简单的一个驱动程序莫过于一个内置(Built-in)设备的流接口驱动。对于一个不支持热拔插的设备,最快捷的方法就是为其实现一个内置的流接口的驱动。对于这样一类驱动程序,我们

2015-08-26 22:46:53 197

转载 WinCE中串口驱动及接口函数介绍

作者:ARM-WinCE 在WinCE中,串口驱动实际上就是一个流设备驱动,具体架构如图:        串口驱动本身分为MDD层和PDD层。MDD层对上层的Device Manager提供了标准的流设备驱动接口(COM_xxx),PDD层实现了HWOBJ结构及结构中若干针对于串口硬件操作的函数指针,这些函数指针将指向PDD层中的串口操作函数。DDSI是指MDD层与

2015-08-26 22:44:52 449

转载 WinCE流设备驱动简介及GPIO驱动的实现

作者:ARM-WinCE 流设备驱动实际上就是导出标准的流接口函数的驱动,这是文档上面的定义。在WinCE中,所有的流设备都导出流设备接口,这样WinCE中的Device Manager可以加载和管理这些流设备驱动。流设备驱动的架构如图:  首先我声明一下,这个图是我抄的,呵呵。在WinCE启动的时候,OAL(OAL.exe)首先加载kernel.dll,然后kernel.

2015-08-26 22:41:55 181

转载 巧手定制Windows CE系统

嵌入式系统正在日益广泛的应用于各个方面,嵌入式系统的最大特点在于其精简和实时性。公司近期委派我负责一个新的嵌入式系统项目,因为是小型设备,所以我面临的第一个难题是需要找一个体积少,但非常灵活添加外围接口的嵌入式系统。  最初提出了两种方案,第一种是在完整的系统上进行裁剪,第二种是在磁盘上直接安装内核、启动脚本等文件来实现最小系统。经过再三思考,在众多的嵌入式操作系统中,我选择了Windows 

2015-08-26 22:33:08 359

转载 wince 常见问题 1

1 在mediaplayer全屏播放的时候,我可以用键盘上的某一个键调节声音大小,现在我想在屏幕上显示调节的结果就跟我们看电视一样能出来一些标记。当声音变大在屏幕上就增多, 当声音变小的时候就减少  得到播放窗口的DC,然后在上面显示一个不同颜色的矩形或者其它形状。  2 在ce自制平台中如何添加自己的驱动?cec文件和reg,bib文件有何区别?看混了

2015-08-26 22:28:55 653

转载 在 WinCe 平台读写 ini 文件

在上篇文章开发 windows mobile 上的今日插件时,我发现 wince 平台上不支持例如 GetPrivateProfileString 等相关 API 函数。在网络上我并没有找到令我满意的相应代码,因此我手工自己写了相应的方法。命名规则是,在 PC API 函数的名称前面加上 “Ce” 前缀,这是为了在 PC 平台上调试和使用时,不和系统的 API 函数发生冲突。值得注意的是,

2015-08-26 22:16:32 285

转载 wince6.0开机自启动应用程序

1、在VS2005下建立一个Win32智能设备项目,取名为ShellExe,编译如下代码:int WINAPI WinMain(HINSTANCE hInstance,  HINSTANCE hPrevInstance,  LPTSTR    lpCmdLine,  int       nCmdShow){ WIN32_FIND_DATA fd; HANDLE hd=I

2015-08-26 22:11:25 478

转载 WINCE Driver 心得总结

一.Windows CE的驱动程序的区分1.从加载以及接口方式来区分可以分为本机设备驱动(Built-In Driver)、可加载驱动(Loadable Driver)以及混合型驱动。(1)本机设备驱动本机设备驱动即Native Device Drivers。这些驱动程序在系统启动时,在GWES的进程空间内被加载,因此它们不是以独立的DLL形式存在。这些驱动对应的设备通常在

2015-08-26 22:07:22 259

转载 成员函数指针与高性能的C++委托

成员函数指针与高性能的C++委托Member Function Pointers and the Fastest Possible C++ Delegates 撰文:Don Clugston翻译:周翔 引子标准C++中没有真正的面向对象的函数指针。这一点对C++来说是不幸的,因为面向对象的指针(也叫做“闭包(closure)”或“委托(del

2015-08-25 15:45:54 349

转载 Java泛型:类型檫除、模板和泛型传递

Java泛型(generics)是JDK 5中引入的一个新特性,允许在定义类和接口的时候使用类型参数(type parameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在JDK 5中的新集合类框架中。对于泛型概念的引入,开发社区的观点是褒贬不一。从好的方面来说,泛型的引入可以解决之前的集合类框架在使用过程中通常会出现的运行时刻类型错误,因为编译器可以在编译时刻就发现很

2015-08-25 15:38:23 491

翻译 JAVA接口的一些理解描述

如果接口可以定义变量,但是接口中的方法又都是抽象的,在接口中无法通过行为来修改属性。有的人会说了,没有关系,可以通过实现接口的对象的行为来修改接口中的属性。这当然没有问题,但是考虑这样的情况。如果接口A中有一个public访问权限的静态变量a。按照java的语义,我们可以不通过实现接口的对象来访问变量a,通过A.a = xxx;就可以改变接口中的变量a的值了。正如抽象类中是可以这样做的,那么实现接

2015-08-25 15:31:15 386

转载 Android-非常棒的HTTP通讯总结

先贴代码:?12345678910111213141516171819202122232425262728293031

2015-08-24 15:40:07 252

转载 android中跨进程通讯的4种方式

由于android系统中应用程序之间不能共享内存。因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些。在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。  其中Activity可以跨进程调用其他应用程序的Activity; 

2015-08-24 15:38:56 337

转载 定时器与多线程 SetTimer and Multi-Thread 每个线程独立使用一个定时器

生产者——消费者 模拟程序,需求如下:  将生产者和消费者模拟算法封装在一个动态链接库中,主程序调用相关函数。生产者放入产品和消费者取走产品的速度可调节。分别用循环队列和栈实现。一般模拟这个算法都是生产这,消费者各开一个线程,同步访问一个共享缓冲区。但是需求要求能调节速度,我的思路是在每个线程里单独创建一个定时器,但是Windows下定时器特性是

2015-08-20 17:08:47 2224

转载 Java-按值传递还是按引用传递详细解说

值传递:在方法进行调用时,形式参数是由实际参数来传递的,方法执行中形式参数值的改变不影响实际参数的值。引用传递:就是地址传递。在方法进行调用时,实际参数的引用的是地址,而不是真正参数的值,方法执行中形式参数值的改变将会影响实际参数的值。1:按值传递是什么指的是在方法调用时,传递的参数是按值的拷贝传递。示例如下:[java] view plainc

2015-08-19 14:18:47 312

转载 JAVA--Runtime类研究

RunTime类代表Java程序的运行时环境,每一个Java程序都有一个与之对应的Runtime实例,应用程序通过该对象与运行时环境相连,应用程序不能创建自己的Runtime实例,但可以通过getRuntime()方法获得与之关联的Runtime对象。1.Runtime代表Java程序的运行时环境,可以访问JVM的相关信息,如处理器数量,内存信息。例如如下代码:

2015-08-19 14:15:00 343

转载 VI文本编辑器

2015-08-19 14:10:53 281

转载 Linux Shell编程入门

从程序员的角度来看, Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。在Linux GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一。Linux的Shell

2015-08-17 16:20:14 249

转载 Java 之小数取整

import java.math.BigDecimal;import java.text.DecimalFormat;public class TestGetInt{public static void main(String[] args){double i=2, j=2.1, k=2.5, m=2.9;System.out.println(”舍掉小数取整

2015-08-17 15:56:51 1084

转载 下面的例子说明了如何使用java.lang.Class.getSimpleName()方法。

下面的例子说明了如何使用java.lang.Class.getSimpleName()方法。package com.yiibai;import java.lang.*;public class ClassDemo { public static void main(String[] args) { ClassDemo c = new ClassDemo();

2015-08-17 14:17:32 504

转载 这个错误是由于强制要求应用程序按照多国语言的模式开发,避免死的字符串。

这个错误是由于强制要求应用程序按照多国语言的模式开发,避免死的字符串。但有的时候你发现导入别人的代码,改这些字符串太麻烦,那么可以在Android.mk中添加LOCAL_MODULE_TAGS := tests 即可。

2015-08-13 17:55:52 264

转载 LINUX图文教程

Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。这个是我将鸟哥书上的进行了一下整理的,希望不要涉及到版权问题。1、显示日期的指令: date2、显示日历的指令:cal3、简单好用的计算器:bc

2015-08-13 17:04:24 372

转载 Linux常用命令

linux 基本命令 ls     (list 显示当前目录下文件和目录 ls -l 详细显示 =ll ) [root@linux ~]# ls [-aAdfFhilRS] 目录名称 [root@linux ~]# ls [--color={none,auto,always}] 目录名称 [root@linux ~]# ls [--full-time] 目录名称 参数:

2015-08-13 17:01:14 242

原创 android 启动程序的一些标准方法

//只需要提供包名即可启动相应Appprivate void RunApp(String packageName,String classname) { if (classname != null) {Log.i(TAG, "RunApp with classname:"+classname);Intent intent = new Intent(Intent.ACTION_MAI

2015-08-13 16:55:31 270

转载 WinCE音频驱动

音频驱动有3种模式:1.MDD/PDD模式.2.Wavedev2模式.3.UAM模式 它们相同的地方很明显:它们公开相同的接口,因为是流驱动!都是透过流接口与上层的waveapi.dll交互.接着,细说它们的差异:    第一种MDD/PDD模式是最早被提供的模式,也是其他驱动常见分层模式.如果我们使用CE提供的MDD(wavemdd.lib)我们会受到一些限制:Only supp

2015-08-07 14:57:35 481

转载 WINCE音量调节的实现

转自:http://hi.baidu.com/%BC%F2%B5%A5%B1%F9%D0%C4/blog/item/fa7a89d21ba5522f9a502720.html在WINCE平台下,用户可以通过设置控制面板的音量调节按钮,实现系统音量的调节。同时,如果使用一些媒体播放器,如mplayer,则可以对输入的音频流实行单独的调节,而不影响系统其他的音量。我们可以把整个架构理解为WIN

2015-08-07 14:50:50 583

转载 WINCE的混音器

在CE音频设备中,混音器是有不同类型的,下面介绍一下:1、软件混音器Waveapi模块有软件混音器,有时也称为内核混音器。它能混合多个不同采样率的PCM,在CE 4.2中被加入。软件混音器在启动时,为音频设备创建一个线程。这个线程负责接受应用的音频buffer,把它们放到混合的buffer中,再传给音频设备。这个过程中,软件混音器的工作有:1、  把所有数据转换成1

2015-08-07 14:47:50 488

转载 WINCE显示驱动相关 -- DrvEscape和ExtEscape

DrvEscape是提供给应用程序的一个直接访问显示驱动的接口/机制,它类似流接口的IOCTLs方式的,完成标准GDI无法完成一些功能.上层应用程序调用ExtEscape()发送查询,设置等控制命令给显示(打印)驱动.这些命令字叫做escape code.系统已经定义的escape code有如下:QUERYESCSUPPORT             8      查询显示驱动是否支持用

2015-08-07 14:46:02 497

转载 C++的深拷贝与浅拷贝

对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a=88;int b=a; 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子。    1234567891011

2015-08-07 14:40:14 466

转载 从语言进步到编程-睡不着翻了翻以前老师的一篇文章

1. 语言和编程本是两码事    分不清语言和编程的人,估计很难学得好编程。    1.1 盲从技术只能让你晕的更久        和其它事物一样,软件编程的发展也经历了从低级到高级的各个阶段。从机器代码到汇编语言,从汇编语言到高级语言,从高级语言到封装完善的编程框架,以后肯定还会出现更多高级的语言或是编程框架。        作为学习者,在初涉软件编程领域时,常常被众多的语言

2015-08-07 14:35:56 359

转载 C++运算符重载

9.1  C++运算符重载简介针对语言基本类型提供的运算符,C++中允许自定义类型重载这些运算符操作。这使得自定义类型对象可以自如地使用内部运算符集参与表达式运算,类似内置基本类型一样。通过以自定义类型的中添加函数的方法,C++中同样也可以来实现类似内置基本类型的运算操作。但是相对于提供的运算符重载实现来讲,显得复杂而不直观。针对内置基本类型,C++已经完整的提供了运算符的实现。C

2015-08-07 14:31:41 402

转载 C++异常以及错误处理

计算机应用程序中离不开错误处理,尤其是生产型大型软件系统。应用软件系统运行属于循环处理事务,出错后需要保证不能让软件程序直接退出。这就需要使用一定的程序容错处理来应对。一般情况下,大型软件开发中的软件系统容错处理会结合异常处理、错误代码定义的使用与相应的出错处理日志记录,包括一定的参与大型生产系统的监控系统等配合保障系统的稳定性。下面本章将会就C++软件系统中提供的异常处理作详细的讲述,包括基本概

2015-08-07 14:30:25 331

转载 string类详解

针对字符串处理,C++中并没有专门的内置类型。C语言是使用字符数组以及相应的指针来表示字符串。前面章节已经介绍了C++包容的C语言字符串处理方式。下面将讲解C++标准库封装字符串处理的字符串类类型。通过库提供的字符串类型公开方法接口,开发者可以很方便地定义操作字符串,使得操作字符串变得方便简易。13.1.1  string字符串对象构造C++库中提供的字符串标准类是通过模板定义来实现的

2015-08-07 14:28:54 312

转载 C++类的继承

10.1  C++类继承简介C++中类作为一种自定义类型的数据结构,在面向对象程序设计思想中有着相当重要的作用。类代表一类事物的集合,与现实社会相似,类类型同样具有继承实现的可能。现实社会中事物的继承性随处可见,如父子的继承关系等。C++软件开发中,继承机制有着很多的运用。通常在软件编程中,继承与多态性的结合运用可以增加软件的扩展性以及应用程序可重用性。C++语言中将继承分为三种情

2015-08-07 14:27:53 407

转载 C++模板

12.1  C++高级编程之模板简介C++模板机制的出现增强了软件可重用性,反应到具体的应用程序中最简单的表现是程序代码实现同一功能性操作只需要定义实现一次,就可以处理不同类型的数据。C++中模板机制最直接表现形式为通用函数以及通用类的定义实现。在通用函数与通用类的定义中,可以通过将函数处理以及类操作处理的不同数据类型定义为一个模板参数。因此通过这样一种实现机制,通用函数与通用类将会用于实

2015-08-07 14:24:58 416

转载 C++标准模板库

作为C++标准库相当重要的一部分,STL库提供一系列组件操作。它主要可以分为容器、迭代器、基本算法、函数对象以及内存分配器和配接器六个部分。整个STL库的代码都采用模板函数以及模板类的方式实现,具有高度的通用性。对于传统的应用程序来讲,模板库支持并且倡导一种新的编程风格,即称为泛型编程思想,以通用的模板方式来编写应用程序中的数据结构与算法。16.1  STL常见容器C++标准S

2015-08-07 14:21:33 426

common-log.rar

一个log框架代码,可以定义log tag, 定义log 等级, 适用于大型项目log分类打印输出,最轻量级的log系统。

2020-08-02

fastdfs100-libfastcommon-master.rar

FastDFS的重要组件代码,包含socket 连接池 , 通用高效数据结构模型, 线程池, 内存池等等, 可以适当修改用于自己的Linux项目开发。

2020-08-02

linyanx-memory-pool-master.rar

Linux 平台内存池的实现, 一个很好使用的内存池,采用SALB思想,内存采用按块分,非常适用于Linux项目的开发。

2020-08-02

libiconv1.15 裁剪到200多K的库

适合嵌入式裁剪过的libiconv 库。源代码已经经过修改可直接编译。

2018-11-24

VS 操作EXECL的例子封装成类了。

对EXECL封装的一个类,可直接使用。需要安装OFFICE不然无法找到COM组件。

2017-11-25

libusb DEMO工程

Windows 下libusb 使用方法,可基于DEMO开发USB通信程序。

2017-07-13

C++设计模式讲解

C++设计模式讲解,介绍每个常用模式思想及简单实现。对学习面向对象编程有极大的作用。

2015-07-07

空空如也

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

TA关注的人

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