自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Using Tabs API

Tabs API: Using Tabs APICreating tab group control from resourceAccessing tab group control created from resourceCreating tab group control dynamically from resourceCre

2009-06-02 17:07:00 388

原创 如何压缩用3rd MR SDK编译出来的程序

同时用过MR, FP1, FP2这几个SDK的人肯定会发现,用MR编出来的程序比其它两个SDK编译出来的要大很多。。其实这只是MR和FP1, FP2默认的编译选项不同罢了。在MMP文件里加一个选项"OPTION GCCE -O2 -fno-unit-at-a-time",重新用MR编译一下,程序很明显的变小了如果你仔细比较的话,会发现MR编出来的还是要大个几十K,不过这一点相对于一个几百K

2009-05-16 17:42:00 507

原创 如何得到当前进程的句柄

RProcess对象创建的时候,默认得到的是当前进程的上下文 RProcess currentProcess; //现在该对象的上下文已经是当前进程了currentProcess.FileName(); //得到当前进程的文件句...

2009-05-15 17:15:00 2184

原创 DLL和LIB加载方式的区分

平常习惯了用“LIBRARY  xxx”这样形式加载一个系统LIB,以为这就是symbian静态库的加载方式。今日自己写了一个lib, 用"LIBRARY xxx"加载,总是提示我找不到"xxx.dso"文件,郁闷半天一番查阅之后,才知道"LIBRARY xxx"是动态库DLL的加载方式,静态库是用"STATICLIBRARY xxx" 总结一下: DLL文件:xxx.

2009-05-14 23:32:00 564

转载 How to draw an Icon on the IndicatorPane of Series 60

Link: http://www.newlc.com/How-to-draw-an-Icon-on-the.html Here is a way to show an iconon the IndicatorPane of Series 60. You can show an icone near to thebattery pane or signal pane, for t

2009-04-27 10:53:00 621 1

转载 avkon2.mif图标

  EMbmAvkonQgn_graf_tab_21, bmp EMbmAvkonQgn_graf_tab_22, bmp EMbmAvkonQgn_graf_tab_31, bmp EMbmAvkonQgn_graf_tab_32, bmp EMbmAvkonQgn_graf_tab_33, bmp EMbmAvkonQgn_graf_tab_41,

2009-04-27 10:06:00 1829

原创 关于symbian系统中STL的使用

      众所周知,symbian出于性能及其它方面的考虑,在早期设计的时候并没有将STL纳入symbian系统内。取而代之的是像Descriptor, CArray之类的替代类。这对于习惯了使用STL设计程序的人是一个很大的障碍,并且使得程序的可移植性变得很差。      可能是出于市场的压力,Nokia在S60第三版问世之后(准确说是问世很长一段时间后),推出了Open C/C++的插件

2009-03-25 23:32:00 847

原创 创建本地信息文件夹(MTM Folder)

以下代码展示了如何创建一个本地信息文件夹:VOID CreatePrivateFolder(const TDesC& folderName, TMsvId& newFolderId, BOOL bIsVisible /*= TRUE*/){ CMsvEntry * entry = m_pSession->GetEntryL( KMsvMyFoldersEntryIdValue )

2009-02-17 22:28:00 584

转载 若干经典哈希算法

//  RS Hash Functionunsigned  int  RSHash( char   * str){        unsigned  int  b  =   378551 ;        unsigned  int  a  =   63689 ;        unsigned  int  hash  =   0 ;         while  ( * str)        

2009-01-12 14:17:00 1461

原创 如何找出程序所需要的能力(Capability)

Carbide提供了一个Capability Scan的小插件,通过这个插件就可以找出程序所需要的Capability及相应的函数,很不错的插件~首先"platform security"窗口,Windows--->Show Views--->platform security然后选中工程的mmp文件,右键选择"Run Capability Scanner...",如下图:注意:有时会出来"DEP

2009-01-10 19:34:00 1131

原创 关于找不到.rsg文件的编译错误

新创建一个工程,所有步骤都按照向导来,生成的代码一行没改,OK,编译,error...Fuck!查其原因,说是找不到.rsg文件。到nokia的论坛查了一下,结果如下:rsg文件是编译rss文件的时候自动生成的,所以根本原因是carbide生成的rss没有编译通过。rss文件编译不通过的具体原因可能不尽相同,我的原因是其中的一个define值太长,它自动换行却没有加"/"符号,所以字符串断了截,连

2008-12-25 23:24:00 1593 1

原创 delete和delete[]的区别

可能大家都知道,new和delete,new[]和delete[]要配对使用,但是并不是所有人都知道delete和delete[]到底有什么区别。有人会说,delete不就是删除对象,delete不就是删除数组的嘛。这样的说法应该只能说对了一半。的确,delete[]是用来释放数组,那么如果我用delete释放数组又会怎样呢?这还分两种情况来对待:  1.delete基本数据类型数组      这

2008-12-16 09:47:00 665

原创 Signed变量和Unsigned变量的比较

今日调试一程序,碰到一处断言过不去,可以看了半天就看不出来哪过不去~断言如下:UINT len = 5;ASSERT(len >= -1)N小时之后,无意发现是变量类型不对。len是Unsigned型的,而-1是signed型的。以我的推测,Gcc编译器会将Signed型变量转换成Unsigned,所以这里(len >= -1)就是false了。

2008-12-06 20:09:00 686

原创 Carbide实机调试中碰到的问题

如果修改了源代码,必须先clean一次,再Build才可以运行刚才更新的代码。否则会运行结果跟修改代码前一样。(原因不明,这个很烦,每次都得Clean一次)

2008-12-06 20:01:00 358

原创 Carbide实机调试

留位

2008-12-04 12:10:00 432

原创 Symbian OS Unit Test Framework

    众所周知,要想保证软件的质量,单元测试这一步是少不了的。那Symbian中的单元测试如何进行呢?    Symbian OS Unit Test Framework ——它是由"Penrillian"公司开发的基于CxxUnit框架的开源软件。但与CppUnit相比,它的框架精简不少。当然,精简框架的代价就是降低了灵活性。如果你有兴趣,可以从以下地址http://www.symbianos

2008-11-28 11:11:00 466

转载 为什么大家觉得Symbian开发比较难?

本人也搞了两个月的Symbian,从做自己的商业应用来说,基本上已经克服了需要面对的技术难题。 如果你感觉到Symbian比较难,原因有几个方面: 1、Symbian没有像VC一样的高度集成的开发环境,版本太多并且又各有不同。为了搭建一个合适的开发环境,我自己至少安装了100遍以上,时间折腾接近一周。为了进行真机测试,我也买了5部Nokia手机,代价真的好大。 2、个人的C++功力问题,如果你

2008-11-19 16:22:00 709

原创 carbide.vs的bug不断

    好不容易弄好了carbide.vs的环境,才用几天,就发现很多莫名其妙的bug,开始以为是我的程序写得有问题,后来转到carbide.c++平台就一切正常。看来nokia对carbide.vs支持得还是不够好,我也只能放弃了。。    carbide.vs 3.0.1有时会在调用SDK接口时直接失败。    carbide.vs 2.0.2的指针有时会莫名的跳转,本来刚申请的内存,到另一个

2008-11-15 00:06:00 437

原创 析构或删除对象时应该注意的问题

    这一个星期以来,一个莫名其妙的bug一直困扰着我,让我寝食难安。。class test{private:    CMsvEntry *iEntry;    CMsvSession* iSession;    S3DummyObserver* iObserver;public:    test()    {        iObserver = new S3DummyObserver;   

2008-11-09 23:10:00 598

原创 carbide.vs调试技巧——缩减调试时间!

众所周知,symbian程序的调试过程慢得让人无法忍受,每次看着那个emulator痛苦地挣扎出来,我都有一种砸机器的冲动!  有一次无意中在网上看到有人提到一种调试技巧,可以让每次debug的过程不用关掉emulator。过程如下:在工程属性中将debug的command改成epoc.exe,这样程序结束后emulator不会自动退出。在一个工程实例已经打开的情况下,再打开一个工程实例,第二个实

2008-11-09 20:43:00 999 1

转载 Inside CBase class - six essential questions

Everybody knowsC-class in Symbian, the so called C-class is the one derived from classCBase. CBase is widely used in Symbian APIs, because it represents theclass which should be created on heap.

2008-11-09 20:19:00 675

原创 carbide.vs的debug问题

昨天终于把carbide.vs成功装上了,兴奋了半天,结果今天跑来一试,不能debug,烦死了!新建工程后,debug,结果VS只把emulator调用出来了,刚才编译的程序没有被调用!好事多磨啊。。晚上回来,决定试试carbide.vs 2.0.2吧,配置是VS2003 + carbide.vs 2.0.2 + S60v3 FP2看carbide的文档上支持的SDK列表中没有S60v3 FP2,

2008-11-08 00:21:00 736

原创 Carbide.VS 3.0.1的安装问题

  在Carbide.VS过程中一个常见的问题是检测不到已安装的SDK,特别是S60v3 FP2。这样的话,安装无法完成,恼人得很。找了很久才找到解决的办法。  步骤1:      打开注册表,找到"HKEY_LOCAL_MACHINE/SOFTWARE/Nokia/",创建新项"Carbide.vs.30",然后在新项里添加字符串值"ForcePrereq" = "1"。(这一步是为了让安装程序

2008-11-06 16:31:00 1163

翻译 在emulator和device中显示panic code

S60 v1 and v2在“Epoc32/Wins/c/system/Bootdata”,或者在“Epoc32/Winscw/c/system/Bootdata”(如果你在用Codewarrior)目录中创建一个名叫“ErrRd”的空文件。如果是在目标机上,则在"C:/system/Bootdata"目录创建相同的文件。S60 v3启动Emulator,打开"Tools / Preference

2008-11-05 18:11:00 498

原创 Symbian中的异常处理

 留位

2008-10-30 23:11:00 273

原创 Messaging之基本概念

v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#default#VML);} Normal 0 7.8 磅 0

2008-10-30 23:03:00 1477

原创 inline函数的link错误

今天写代码的时候犯了一个很傻B的错误,将inline函数的声明和定义分别放到了头文件和源文件里了。结果导致link一直出错,说找不到函数。后来一查,发现inline函数的定义如果想给其它地方用,就必须把定义放在头文件里,或者在每个用到的地方再定义一次。因为inline函数只是在编译时进行扩展,如果将定义放到cpp文件里,其它地方将找不到inline函数的定义。它不会像其它函数那样会link过去。原

2008-10-23 23:33:00 1129

原创 Build时碰到的问题

首先申明,我是新手。今日写了一个程序,想要跑起来看看效果,结果各个文件单独编译没有问题,但是一build就出错。说有几个是"undefined symbol",一肚子火。。仔细看了看错误,好像是link的时候出错了,但检查了半天代码也没看出什么问题。后来google了一把,发现是忘了在工程里加"Lib"文件。fuck!到SDK reference找到对应的lib文件,加到mmp文件里,重新buil

2008-09-29 16:59:00 609

空空如也

空空如也

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

TA关注的人

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