自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

WINCE 下使用wstring、string读写TXT文件

众所周知TXT文件的编码分为ASCI、UNICODE、UTF8,其中UNICODE又分big-endian、little-endian,具体怎么区分它们可以参照TXT文件的BOM;Byte Order Mark。BOM是一个有点小聪明的想法:在UCS编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF。而FFFE在UCS中是不存在的字符,所以不应...

2009-08-28 08:28:00 203

GetLastError返回值的意义----适用在eVC和VC++

〖0〗-操作成功完成。〖1〗-功能错误。〖2〗-系统找不到指定的文件。〖3〗-系统找不到指定的路径。〖4〗-系统无法打开文件。〖5〗-拒绝访问。〖6〗-句柄无效。〖7〗-存储控制块被损坏。〖8〗-存储空间不足,无法处理此命令。〖9〗-存储控制块地址无效。〖10〗-环境错误。〖11〗-试图加载格式错误的程序。〖12〗-访问码无效。〖13〗-数据无效。〖14〗-存储器不足,无法完成此操作。〖15〗-系...

2009-08-28 08:26:00 54

wince下用DirectShow播放音频和视频

//========================================================================//TITLE:// wince下用DirectShow播放音频和视频//AUTHOR:// norains//DATE:// Monday 14-May-2007//Environment:// WinCE 5.0//================...

2009-08-28 08:20:00 63

C++ 中初始化数组类成员

struct Tree_node { int index; Tree_node *child[2]; Tree_node() : index(-1), child((Tree_node *[2]){NULL, NULL}) {} }; struct Tree_node {...

2009-08-28 08:08:00 392

C++开源跨平台类库集

在如下的库支持下,开发的系统可以很方便移植到当前大部分平台上运行而无需改动,只需在对应的平台下 用你喜欢的编译器 重新编译即可 经典的C++库 STLport-------SGI STL库的跨平台可移植版本,在以前有些编译器离符合 标准比较远的情况下 那时还是有用的,当然目前vc71已经比较接近标准了, 故目前不怎么用它了。 Boost---------准标准库, 功能强大 涉及能想的到的大部...

2009-08-28 08:03:00 51

关于Beginning Linux Programming 3ed

关于<Beginning Linux Programming 3ed>近两年来在我的博客里陆续发的一些关于Linux编程的文章是译自Wrox公司的<Beginning Linux Programming 3ed>一书,在此感谢朋友们的支持。另外需要说明的一点就是,记得07年的冬天我在长沙逛书店的时候似乎看到了这本书的中文译本,所以提醒朋友们,如果觉得这本书对自己有用,可以到书店买中...

2009-08-25 19:00:00 33

VS2005配置CPPUnit进行单元测试

一、 编译CPPUnit工程1、 解压文件cppunit-1.12.1.tar.gz。2、 编译$BASE/src/cppunit/CppUnitLibraries.dsw中的cppunit_dll项目。这是CPPUnit基本类库。Release和debug版本需要同时编译。3、 编译$BASE/src/cppunit/CppUnitLibraries.dsw中的TestRunner项...

2009-08-25 18:16:00 45

进程间通信应用-CD程序

CD数据库程序现在我们可以使用我们在这一章所了解的IPC工具来修改我们的CD数据库程序。我们可以使用三种IPC工具的多种不同组,但是因为我们需要传送的信息很少,直接使用消息队列实现请求的传递是一个很明显的选择。如果我们需要传递的数据量很大,我们可以考虑使用共享内存传递实际的数据,并且使用信号量或是消息来传递一个标记通知其他的进程在共享内存中有数据可用。消息队列接口解决我们了在第...

2009-08-25 18:06:00 68

进程间通信之消息队列

消息队列现在我们来讨论第三种也是最后一种System V IPV工具:消息队列。在许多方面看来,消息队列类似于有名管道,但是却没有与打开与关闭管道的复杂关联。然而,使用消息队列并没有解决我们使用有名管道所遇到的问题,例如管道上的阻塞。消息队列提供了一种在两个不相关的进程之间传递数据的简单高效的方法。与有名管道比较起来,消息队列的优点在独立于发送与接收进程,这减少了在打开与关闭有名管道之...

2009-08-24 23:33:00 50

WinCE系统的内存碎片

http://www.ibm.com/developerworks/cn/linux/l-cn-ppp/index6.htmlhttp://blog.csdn.net/dadalan/archive/2008/12/17/3541535.aspx

2009-08-24 16:13:00 87

进程间通信之共享内存

共享内存共享内存是第二种IPC工具。他允许两个无关的进程访问相同的逻辑内存。共享内存是在两个运行的程序之间传递数据的有效手段。尽管X/Open标准并没有要求,很可能绝大数的共享内存实现都是会将不同进程之间正在共享的内存安排在相同的物理内存中。共享内存为在多个进程之间共享与传递数据提供一个有效的手段。因为他并没有提供同步的方法,所以通常我们需要使用其他的机制来同步对共享内存的访问。通常,...

2009-08-23 11:51:00 63

operator new 滴使用

int *p=::operator new(sizeof(int))*p=int()来初始化非PODNOPOD *p=::operator new(sizeof(NOPOD))new (p) NOPOD()来初始化这是placement new运算符

2009-08-22 09:04:00 53

mysql的C语言接口的使用

需要的库libmysqlclientapt-get一下libmysqlclient15-dev(别的包我忘了,自己试的时间装了好多个,连odbc都装了=.=!!)示例代码view plaincopy to clipboardprint? MYSQL mysql = new MYSQL(); // 初始化mysql if (!mysql_init(mysql)) { fprintf(s...

2009-08-22 09:03:00 105

Using Hook under WINCE

Hook(钩子)是一种在消息到达目标窗口前进行截获的技术。使用钩子主要使用以下三个函数SetWindowsHookEx:创建钩子CallNextHookEx:将消息传给钩子链中的下一个钩子UnhookWindowsHookEx:释放钩子对于创建钩子的函数SetWindowsHookEx,MSDN给出其原形如下: HHOOK SetWindowsHookEx( int idHook, // ty...

2009-08-22 08:48:00 47

Linux进程间通信之信号量

第14章 信号量,共享内存与消息队列在这一章,我们将会讨论Unix发行版AT&T系统V.2所引入的进程通信工具集合。因为这些程序出现在相关的发行版本中并且具有类似的编程接口,他们通常被称之为IPC程序,或是更为通常的System V IPC。正如我们已经了解到的,他们绝不是进程之间通信的唯一方法,但是System V IPC通常用来指这些特殊的程序。在这一章,我们将会讨论下列内...

2009-08-22 08:43:00 65

多线程学习笔记

多线程概述  进程和线程都是操作系统的概念。进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间、代码、数据和其它各种系统资源组成,进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时被释放或关闭。  线程是进程内部的一个执行单元。系统创建好进程后,实际上就启动执行了该进程的主执行线程,主执行线程以函数地址形式,比如说main或WinMain函数,将程序的启动点提...

2009-08-21 18:16:00 48

VC2008下配置boost库使用正则表达式

boost,微软发布的greta。本文介绍使用boost库正则表达式来解决字符匹配、搜索、替换等应用。现在介绍一下VC2008中怎样配置与使用boost库正则表达式。1、下载与安装boost库,下载地址:http://sourceforge.net/projects/boost/files/boost/1.39.0/,将其解压到E:/boost目录。有关boost的使用可以参考ht...

2009-08-21 18:15:00 42

Memory leak finder

http://www.codeproject.com/KB/debug/Memory_leak_finder.aspx?msg=2823672#xx2823672xxDownload source files - 10.51 KB Download DLL files - 19.08 KB IntroductionHave you ever ha...

2009-08-21 14:40:00 83

Visual Leak Detector

最新版下载地址:http://dmoulding.googlepages.com/vld初识Visual Leak Detector 灵活自由是C/C++语言的一大特色,而这也为C/C++程序员出了一个难题。当程序越来越复杂时,内存的管理也会变得越加复杂,稍有不慎就会出现内存问题。内存泄漏是最常见的内存问题之一。内存泄漏如果不是很严重,在短时间内对程序不会有太大的影响,这也使得内存泄...

2009-08-21 14:35:00 47

c++ 虚函数的实现机制

1、c++实现多态的方法其实很多人都知道,虚函数在c++中的实现机制就是用虚表和虚指针,但是具体是怎样的呢?从more effecive c++其中一篇文章里面可以知道:是每个类用了一个虚表,每个类的对象用了一个虚指针。具体的用法如下:class A{public: virtual void f(); virtual void g();private: int a};class B :...

2009-08-21 08:34:00 51

fglrx 9.8与kernel 2.6.30

Linux Kernel 2.6.30的发布已是很早之前的事情了,而且在其发布后不久就为了尝鲜在自己的机子上编译了2.6.30的内核,无奈fglrx 9.6与9.7都不对其进行支持,无法在新版本的内核下编译安装fglrx驱动,没有办法一直在2.6.29的内核下配合fglrx 9.5进行使用,因而在每次更新时都会期盼fglrx的更新,然而其更新版本都不能进行成功的编译,实是无奈啊!!昨天进行...

2009-08-20 12:11:00 50

原创: WINCE 内存泄露的检查(3) 采用CodeSnitch进行内存泄露的检查

上一篇中介绍了如何采用AppVerify进行内存泄露的检查,但是在我们项目中采用AppVerify始终不是很方便,所以介绍一下如何用CodeSnitch进行内存泄露的检查。CodeSnitch不用详细介绍了,可以说是WinCE内存泄露检测的大杀器,该工具为付费工具,可以到http://www.entrek.com/codesnitch.html下载;破解版可以到http://bbs.p...

2009-08-20 09:43:00 143

原创: WINCE 内存泄露的检查(2) 使用Application Verifier (AppVerifier)检查资源泄漏...

本文转载于:http://blog.csdn.net/xdkui/archive/2008/12/19/3560143.aspx最近在论坛里看到很多人问怎样检查内存泄漏,对于Windows CE/Windows Mobile开发,微软已经为我们提供了很好的工具Application Verifier。AppVerifier是一个辅助开发工具,不用修改代码,可以检测出程序内存,句柄, GDI对象...

2009-08-20 09:41:00 163

原创: WINCE 内存泄露的检查(1) 对new/delete 或malloc/free在堆上申请的内存泄露的检查...

这种方式的内存泄露的检查还是比较好办的,首先重载 new/delete 或 malloc/free;void* __cdecl operator new(size_t nSize,LPCSTR lpszFileName,int nLine);void __cdecl operator delete(void *pvMem);void* __cdecl operator new[](si...

2009-08-20 09:03:00 75

WinCE 进程、线程和内存管理之同步

在多数情况下,线程之间难免要相互通信、相互协调才能完成任务。比如,当有多个线程共同访问同一个资源时,就必须保证一个线程正读取这个资源数据的时候,其它线程不能够修改它。这就需要线程之间相互通信,了解对方的行为。再有当一个线程要准备执行下一个任务之前,它必须等待另一个线程终止才能运行,这也需要彼此相互通信。 实际开发过程中,线程间需要同步的情况非常多。Windows CE.NET给我们提供了很多...

2009-08-18 13:50:00 63

漫谈WinCE输入法的编写--以DLL替代CIMWnd

//========================================================================//TITLE:// 漫谈WinCE输入法的编写(五)--以DLL替代CIMWnd//AUTHOR:// norains//DATE:// Friday 12-October-2007//Environment:// EVC4.0 + Windows ...

2009-08-15 12:14:00 68

自己比较喜欢的CCommon类

//========================================================================//TITLE:// 自己比较喜欢的CCommon类//AUTHOR:// norains//DATE:// Monday 4-June-2007//Environment:// EVC4.0 + Standard SDK 4.2// EVC4.0 +...

2009-08-15 12:13:00 93

WinCE实时获取电源状态变化

//======================================================================== //TITLE: // WinCE实时获取电源状态变化 //AUTHOR: // norains //DATE: // Friday 20-July-2007 //Environment: // EVC4.0 + Windows CE 5.0 Sta...

2009-08-15 12:11:00 52

漫谈WinCE输入法

//========================================================================//TITLE:// 漫谈WinCE输入法的编写(一)//AUTHOR:// norains//DATE:// Saturday 10-February -2007//Environment:// EVC4.0 + Standard SDK//====...

2009-08-15 12:01:00 66

WinCE 下播放MP3代码

//我成功运行过的代码:#include "stdafx.h"#include <dshow.h>#include <streams.h>#pragma comment (lib,"Ole32.lib")#pragma comment (lib,"Strmiids.lib")void TestMP3(void);int WINAPI WinMain(HINS...

2009-08-15 11:57:00 98

EVC实现拷贝文件夹下所有文件

//========================================================================//TITLE:// EVC实现拷贝文件夹下所有文件//AUTHOR:// norains//DATE:// Wednesday 17-May-2006//================================================...

2009-08-15 11:56:00 64

EVC删除非空目录

//=====================================================================================================//TITLE:// EVC删除非空目录//AUTHOR:// norains//DATE:// Thursday 22-June -2006//========================...

2009-08-15 11:53:00 48

获取TTF文件的字体名

//========================================================================//TITLE:// 获取TTF文件的字体名//AUTHOR:// norains//DATE:// Monday 22-December-2008//Environment:// VS2005 + ARM BSP//=================...

2009-08-15 11:50:00 385

Wince读取ini的CIniParse类

//========================================================================//TITLE:// Wince读取ini的CIniParse类//AUTHOR:// norains//DATE:// Monday 22-December-2008//Environment:// WINCE5.0 + VS2005 + ARM B...

2009-08-15 11:46:00 54

进程间通信(九)

管道下面是管道实现文件,pipe_imp.c,其中有客户端与服务器端函数。试验--管道实现头文件1 首先是#include:#include "cd_data.h"#include "cliserv.h"2 我们定义一些在此文件的其他函数中所需要的值:static int server_fd = -1;static pid_t mypid = 0;stati...

2009-08-15 10:49:00 44

S-Record格式分析代码

//========================================================================//TITLE:// S-Record格式分析代码//AUTHOR:// norains//DATE:// Wednesday 30-April-2008//Environment:// NULL//==========================...

2009-08-14 18:28:00 69

eVC下自绘按钮实现

按钮这个控件在软件中使用是非常广泛的,特别是基于MFC开发,按钮提供了很好的便捷。但是在eVC下的按钮显示效果是非常土的,且背景颜色不好改。如果裁系统的时候将XP风格裁进去的话,默认按钮效果会好一些,但是背景颜色不好控制,在ce平台下,没有鼠标是很正常的,带XP风格的CE系统按钮提示不够明显,这个时候就需要自绘按钮了。首先,先建立一个基于CWnd的类,如:CMyButton : publi...

2009-08-14 17:58:00 75

进程间通信(八)

搜索数据库在CD关键字上的搜索比较复杂。函数的用户希望一旦调用就启动一个搜索。我们在第7章通过将在第一次调用上的*first_call_ptr设置为true并且函数返回第一个匹配结果来满足这种需求。在接下来的搜索函数调用中,*first_call_ptr设置为false,从而会返回更多的匹配,每次调用返回一个匹配结果。现在我们已经将程序分为两个进程,我们不能再允许搜索在服务器端一次处理...

2009-08-11 23:25:00 54

进程间通信(七)

CD数据库程序现在我们已经了解了我们可以如何使用有名管道来实现一个简单的客户端/服务器系统,我们可以重新查看我们的CD数据库程序并且进行相应的修改。我们同时组合了一些信号处理从而允许我们在进程被中断时进行一些清理动作。我们会使用我们前面的具有一个命令行接口的dbm版本,从而进可能直接的查看代码。在我们更为详细的讨论新版本的代码之前,让我们先编译这个程序。如果我们有由Web站点所获得的源...

2009-08-09 10:11:00 40

进程间通信(六)

读取与写入FIFO使用O_NONBLOCK模式会影响作用在FIFO上的read与write调用的行为。在一个空的阻塞FIFO(例如,没有使用O_NONBLOCK打开的)上的read调用将会等待直到有数据可以读取。相反,在非阻塞且没有数据的FIFO上进行read调用将会返回0字节。在一个完全阻塞的FIFO上的write调用将会等待直到数据可以写入。在一个不能全部接受所有将要写入数据的...

2009-08-08 10:08:00 44

空空如也

空空如也

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

TA关注的人

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