自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于方法CEikonEnv::Static()方法和宏iEikonEnv的使用区别。

为了实现音乐文件的浏览,即查找功能,我们需要产生一个对话框窗口,如下:真机运行时,该窗口之前还有一个选择手机或存贮卡的窗口,因为模拟器不具备扩展卡,所以直接显示上面这个窗口。上面第一个窗口的显示是通过类MGFetch的RunL()方法产生。第二个窗口的显示是通过iEikonEnv或者是CEikonEnv::Static()产生的。那么iEikonEnv和CEikonEnv::S

2006-07-31 15:03:00 2133

转载 Symbian内存管理的二十二条军规

1、C类必须有析构函数,这是CBase的一个虚函数。2、C类的构造函数和ConstructL()必须为protect或private类型的成员函数3、在C class中必须有一个NewLC()函数,除非它是嵌套类。NewL()是可选的,并且总是根据NewLC()来实现。4、NewL()和NewLC()在c class中必须是static函数。5、C类通过指针和引用来传递。6、拷贝构造函数在symb

2006-07-30 11:16:00 1166

转载 如何定义一个完整的类

定义一个类时必须搞清楚的几个问题: 需要构造函数吗? 如果答案为 no,那么很可能你需要定义的只是一个结构,而不是一个类,因为构造函数的用途是用一种明确定义的状态来设置对象。 数据成员是私有的吗? 一般来说,如果数据成员为公有,你很难控制这些成员何时被访问。 需要一个无参数的构造函数吗

2006-07-28 22:39:00 8007

转载 C++程序员的必备工具

C++程序员的必备工具所谓“工欲善其事,必先利其器”,从程序员的角度来讲,好工具的使用总会给人带来事半功倍的效果。面对众多工具/软件,我们应该如何取舍呢。前不久,笔者在csdn的c++论坛发了一篇 贴文 ,以期能征求大家的广泛意见,得到了不错的反响。本文在对该贴进行整理的基础上,又做了一些补充。在这里要特别感谢网友:DanielWYO(爱上小白),redleaves(无心红叶)。 有以下几点需要声

2006-07-28 22:36:00 5733

转载 C++中的文件输入/输出

简介本教程将以C++最基本的文件I/O(输出/输出)开始。此后,我将从更深入的方面,为你展示一些技巧,并分析给出一些有用的函数。你需要对C++有一个较好的理解,否则这个教程于你而言将是陌生而毫无用处。 你的第一个程序 首先我将给出一段代码,接着再逐行进行解释。我们的第一个程序将建立一个文件,并写入一些字符: #include  void main() //程

2006-07-28 22:35:00 135929 37

转载 C++指针探讨 (三) 成员函数指针

C语言的指针相当的灵活方便,但也相当容易出错。许多C语言初学者,甚至C语言老鸟都很容易栽倒在C语言的指针下。但不可否认的是,指针在C语言中的位置极其重要,也许可以偏激一点的来说:没有指针的C程序不是真正的C程序。  然而C++的指针却常常给我一种束手束脚的感觉。C++比C语言有更严格的静态类型,更加强调类型安全,强调编译时检查。因此,对于C语言中最容易错用的指针,更是不能放过:C++的指针被分成数

2006-07-28 22:24:00 1408

转载 C++指针探讨 (二) 函数指针

在C/C++中,数据指针是最直接,也最常用的,因此,理解起来也比较容易。而函数指针,作为运行时动态调用(比如回调函数 CallBack Function)是一种常见的,而且是很好用的手段。  我们先简单的说一下函数指针。(这一部份没什么价值,纯是为了引出下一节的内容)     2 常规函数指针        void(*fp)();  fp 是一个典型的函数指针,用于指向无参数,无返回

2006-07-28 22:22:00 1028

转载 C++指针探讨 (一)数据指针

指针,在C/C++语言中一直是很受宠的;几乎找不到一个不使用指针的C/C++应用。用于存储数据和程序的地址,这是指针的基本功能。用于指向整型数,用整数指针(int*);指向浮点数用浮点数指针(float*);指向结构,用对应的结构指针(struct xxx *);指向任意地址,用无类型指针(void*)。    有时候,我们需要一些通用的指针。在C语言当中,(void*) 可以代表一切;但是在C+

2006-07-28 22:21:00 1120

转载 C++资源之不完全导引

前言无数次听到“我要开始学习C++!”的呐喊,无数次听到“C++太复杂了,我真的学不会”的无奈。Stan Lippman先生曾在《C++ Primer》一书中指出“C++是最为难学的高级程序设计语言之一”,人们常将“之一”去掉以表达自己对C++的敬畏。诚然,C++程序设计语言对于学习者的确有很多难以逾越的鸿沟,体系结构的庞大,应接不暇并不断扩充的特性……除此之外,参考资料之多与冗杂使它的学习者

2006-07-28 22:15:00 1878

转载 关于C++类成员的初始化

在使用C++编程的过程当中,常常需要对类成员进行初始化,通常的方法有两种: 第一种方法: CMYClass::CSomeClass(){    x=0;    y=1;}第二种方法: CSomeClass::CSomeClass() : x(0), y(1){}     从技术上说,第二种方法比较好,但是在大多数情况下,两者实际上没有什么区别。第二种语法被称为成员初始化列表

2006-07-28 22:08:00 1152

转载 C++中的虚函数

1.简介      虚函数是C++中用于实现多态(polymorphism)的机制。核心理念就是通过基类访问派生类定义的函数。假设我们有下面的类层次:class A{public:    virtual void foo() { cout };class B: public A{public:    virtual void foo() { cout };那么,在使用的时候,我们可以:

2006-07-28 22:06:00 815

转载 C++中的枚举,结构,联合等。。。。

前篇已经说明编程时,拿到算法后该干的第一件事就是把资源映射成数字,而前面也说过“类型就是人为制订的如何解释内存中的二进制数的协议”,也就是说一个数字对应着一块内存(可能4字节,也可能20字节),而这个数字的类型则是附加信息,以告诉编译器当发现有对那块内存的操作语句(即某种操作符)时,要如何编写机器指令以实现那个操作。比如两个char类型的数字进行加法操作符操作,编译器编译出来的机器指令就和两个lo

2006-07-28 22:01:00 1592

转载 枚举类型

如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。   举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么你就可以定义一个枚举类型来表示它!enum box{pencil,pen};//这里你就定义了一个

2006-07-28 21:59:00 939

转载 C/C++语言void及void指针深层探索

1.概述  许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误。本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧。2.void的含义  void的字面意思是“无类型”,void *则为“无类型指针”,void *可以指向任何类型的数据。  void几乎只有“注释”和限制程序的作用,因为从来没有人会定义一个void变

2006-07-28 21:55:00 848

转载 C++内存管理操作详解

Bill Gates 曾经失言:   640K ought to be enough for everybody — Bill Gates 1981    C++程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。   1、内存分配方式   内存分配方式

2006-07-28 21:54:00 863

转载 C++ 的4种类型转化方法

一、C 风格(C-style)强制转型如下:    (T) expression // cast expression to be of type T     函数风格(Function-style)强制转型使用这样的语法:    T(expression) // cast expression to be of type T     这两种形式之间没有本质上的不同,它纯粹就是一个把括号放在哪

2006-07-28 21:49:00 1363

转载 进程和线程的区别

简单的说,你每启动一个程序,就启动了一个进程。在Windows 3.x下,进程是最小运行单位。在Windows 95/NT下,每个进程还可以启动几个线程,比如每下载一个文件可以单独开一个线程。在Windows 95/NT下,线程是最小单位。WINDOWS的多任务特性使得线程之间独立运行,但是它们彼此共享虚拟空间,也就是共用变量,线程有可能会同时操作一片内存。 线程与进程的区别多线程共存于应用程序中

2006-07-28 21:48:00 1879

转载 C++常见内存错误

在C和C + +中,s t a t i c都有两种基本的含义,并且这两种含义经常是互相有冲突的:1) 在固定的地址上分配,也就是说对象是在一个特殊的静态数据区上创建的,而不是每次函数调用时在堆栈上产生的。这也是静态存储的概念。2) 对一个特定的编译单位来说是本地的(就像我们在后面将要看到的,这在C + +中包括类的范围)。这里s t a t i c控制名字的可见性,所以这个名字在这个单元或类之外是

2006-07-28 21:45:00 937

转载 C++内存对象解析

如果一个人自称为程序高手,却对内存一无所知,那么我可以告诉你,他一定在吹牛。用C或C++写程序,需要更多地关注内存,这不仅仅是因为内存的分配是否合理直接影响着程序的效率和性能,更为主要的是,当我们操作内存的时候一不小心就会出现问题,而且很多时候,这些问题都是不易发觉的,比如内存泄漏,比如悬挂指针。笔者今天在这里并不是要讨论如何避免这些问题,而是想从另外一个角度来认识C++内存对象。   我们知道,

2006-07-28 21:36:00 1046

转载 浅析C++中的 new 与 delete 操作

new操作符(new operator)与operator new的关系,你想在堆上建立一个对象,应该用new操作符。它既分配内存又为对象调用构造函数。如果你仅仅想分配内存,就应该调用operator new函数;它不会调用构造函数。如果你想定制自己的在堆对象被建立时的内存分配过程,你应该写你自己的operator new函数,然后使用new操作符,new操作符会调用你定制的operator ne

2006-07-28 21:29:00 995

转载 C/C++面试题大汇总

最近因为找工作,收集了很多C语言方面方面的面试题以及答案。现在新工作搞定了,决定把这些资料发出来,送给有需要的朋友,免得再象我一样到处搜寻,实在辛苦。发布之前先申明两点:    1 所有资料来自网络(主要是CSDN),本人只是收集和转发。    2 所有问题解答(尤其是代码)只是参考,不保证正确。先发基本问题,再发编程问题..........想成为嵌入式程序员应知道的0x10个基本问题

2006-07-28 21:20:00 5397

转载 c/c++ 深入探讨数组内存模型

在csdn上看到很多很多初学网友的关于指针,数组的疑问,我知道,对于一个好学的人来书,怎么做不重要,关键是为什么要这样做 在csdn上看到很多很多初学网友的关于指针,数组的疑问,我知道,对于一个好学的人来书,怎么做不重要,关键是为什么要这样做,只有深入到这一步了,才敢说‘阿,我懂了’,于是,以后碰到类似的问题,就可以从我们知道的原理出发,悠然自得而又满怀信心地推导出正确的结果。

2006-07-26 21:24:00 1449

转载 C++语言的基本问题

对于C++而言,是一种无格式的语言,编译器会忽略所有的空格,回车标记,换行符等等,并把所有这些统称为空白。 然后我们来说说标示符的命名,首先,那些基本的概念要有哦;第二,最好不要以下划线开头;第三,不要以跟关键字相近的名字命名,比如INT,Return等等。 然后程序的步骤,编辑,编译,链接,运行和测试。           对于C++而言,是一种无格式的语言,编译器会忽略所有

2006-07-26 21:21:00 1385

原创 操作符重载浅析

操作符重载浅析下面的文章记录的是,我在研究了C++ Primer的操作符重载这一章,并结合自己之前遇到过的操作符重载相关知识之后,对操作符重载的理解,内容不是很深,主要涉及到的是操作符重载经常使用的环节,对于一些比较深的以及比较复杂且不常用的,我没有做深入的研究,因为我认为即使花时间把它们研究了,以后也不一定用的上,再加上如果常时间不用,这些比较难的知识点也就慢慢忘记了,所以与其如此,到不如把

2006-07-26 17:14:00 9139 5

转载 C++预编译头文件

许多初学 VC 的朋友也许都为那么一个问题困扰过:    为什么所有的 cpp 都必须 #include "stdafx.h"    也许请教了别的高手之后,他们会告诉你,这是预编译头,必须包含。可是,这到底是为什么呢?预编译头有什么用呢?    这得从头文件的编译原理讲起。其实头文件并不神秘,它的全部作用,就是把自己的所有内容直接“粘贴”到相应的 #include 语句处。如果不相信的话,不妨做

2006-07-26 13:47:00 31766 9

转载 symbian中活动对象的一些简单的使用

对symbain的学习已经又几个月了,今天来写写自己的一些活动服务对象使用方法.symbian官方推荐使用活动服务对象(CActive)来代替多线程的使用,我想这个道理是很明了的,在手机这样的小内存设备里,运行多线程的程序是非常耗资源的,为了节约资源,symbian提供了一个活动服务对象的框架,允许把程序里并发执行对象(其实不是并发,不过宏观上看来是)放在一个线程里面执行,这些并发工作的对象就通过

2006-07-26 13:20:00 1232

转载 C++中关键字sizeof简介

1、什么是sizeof    首先看一下sizeof在msdn上的定义:    The sizeof keyword gives the amount of storage, in bytes, associated with a variable or a type (including aggregate types). This keyword returns a value of

2006-07-26 13:18:00 1184

转载 C++中static关键字简介

前言:  本文只是本人对C++中关于静态类型的一个总结,如错误之处,请大家帮我改正。我分两个方面来总结,第一方面主要是相对于面向过程而言,即在这方面不涉及到类,第二方面相对于面向对象而言,主要说明static在类中的作用。一、在面向过程设计中的static关键字1、静态全局变量定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量。特点:  A、该变量在全局数据区分配内

2006-07-26 13:14:00 1015

转载 C++关键字const简介

1、什么是const?   常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:)2、为什么引入const?  const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。3、cons有什么主要的作用?   (1)可以定义const常量,具有不可变性。        例如:             const

2006-07-26 13:12:00 1016

原创 类模板浅析

 一、为什么使用类模板如果一个类,它对自己要使用到的数据类型不确定,也可以理解成为了提高类的通用性,碰到这种情况时,我们就可以考虑使用类模板。例如C++的类List、Vector,它们实际上就是一种类模板。以队列类为例进行说明:队列是一种专门用于对象集合的数据结构,它的行为是先进先出。Class Queue{       public:              Q

2006-07-25 18:02:00 2034 2

原创 关于知识点整理的一点想法

        之前写的《程序开发的一点感悟》一文中,我曾提到软件开发中的知识点就像树叶一样多,经常碰到这种情况,就是很多知识点看了以后不久又忘了,等到再次用到的时候还得回过头来继续查资料,非常影响开发效率。       其实,避免上述错误很简单,我们只需静下心来仔细分析一下知识点,以“类模板”为例,考虑一下:为什么使用类模板,什么时候使用类模板,使用它的好处是什么,如何声明,如何具体定义实现,使

2006-07-25 14:25:00 1152

转载 指针与句柄的简单转换

编程过程中,常常会遇到或使用到指针或句柄,这里简单说说有关指针、句柄间的转换。        指针的使用在编程过程中至关重要,恰到好处并能正确无误的使用指针不但能够提高程序自身的运行效率,而且有助于节省程序执行所需要消耗的资源。指针对应着某个数据在内存空间中的地址,得到了指针就可以自由地修改该数据。句柄代表指针的“指针”,也可以将其比作表中数据项的索引值( 表对应某个进程自身的内存空间 )。句

2006-07-22 11:23:00 1989

转载 Symbian OS应用开发--文件和目录

本篇文章的主要内容是介绍基于Symbian OS的手机,如何去操作有关文件和目录。也就是手机内的一些主要信息,比如:通讯录、记事和任务、sms信息、图片文件、声音文件...在介绍上述内容之前,首先,我们先简要了解一下Symbian OS的硬件系统,这些硬件直接关系到我们对其数据的具体操作。 与典型的台式计算机相比较,Symbian OS机器的相关硬件显然有更多的限制,给我们的软件开发带来了很多的不

2006-07-22 11:01:00 767

转载 关于诺基亚60系列和symbian的基本问题

1. 什么是60系列平台?60系列平台是一个智能电话软件工具包,设备制造商可以通过授权在自己的智能电话硬件中使用这个平台。设备制造商可以使用标准的60系列软件,但一般情况下他们会提出需求来定制60系列软件。60系列完全使用图形化用户界面,并且包括方方面面的无线应用程序。2. 60系列是基于何种技术建立的?Symbian OS是有针对性的操作系统,它是多种移动设备的选择,是构建60系列平台的底层

2006-07-22 11:00:00 918

转载 Symbian开发秘籍

1. 获取文件的完全路径在头文件添加下列声明:IMPORT_C TInt CompleteWithAppPath( TDes& aFileName );TFileName filename(_L("RETROBLASTER.MBM"));CompleteWithAppPath( filename );2. 获取当前设备显示方式(就是获取设备的色深)使用的头文件:#include 在任何VIEW

2006-07-22 10:59:00 795

转载 Symbian的分层

Symbian 是真正的微核操作系统,所谓“微核”,就是说操作系统 只有很小的一部分是运行在最高优先级的,其他的功能都是以Client-Server的方式提供。下面是Symbian系统的内部结构图: 应用层:Shell, OPL, 及其他应用程序=================================================================系统

2006-07-22 10:58:00 1139

转载 Double Buffering

在Prox的故乡,一个美丽而遥远的星球,计算设备早已没有了屏幕显示的概念。一切图像都以思想的速度在脑海中呈现!多么美好啊!可是,自从来到地球这个落后的星球,落后的科技使他不得不重新考虑很多问题。缓慢的屏幕图像刷新速度就是问题之一。 好比下面这样一段代码。虽然能够正确地显示图像,却伴随着令人头晕的屏幕闪烁。而且那些小方块会按着顺序一个接一个的出现,纺若一条小虫 (Profx很不喜欢的一种食品)!

2006-07-22 10:57:00 1370

转载 Symbian中同步socket用法

//下边的代码是介绍同步socket的用法://需要用到的lib,可能不全,请看sdk的help自己添加esock.lib//需要的头文件,可能不全,请看sdk的help自己添加#include #include #include #if defined __WINS___LIT(KConnectIP,"192.168.0.1");//连接的ip地址,换成测试的ip#else_LI

2006-07-22 10:56:00 1259

转载 静态数据

静态数据译自Developer Library ? Symbian OS Guide ? Essential idioms ? Static dataDLL中的可写静态数据Symbian OS是基于ROM来处理程序的。DLL是通常是存储在ROM中的(运行也是在ROM中),所以它是不可写的。虽然有时把DLL装入RAM中运行,但Symbian OS仍旧假定DLL不可写。因此Symbian

2006-07-22 10:55:00 2632

转载 Symbian 缓冲类 CBufBase 基础

CBufBase类规定了动态缓存的接口标准,在内存中存储缓冲数据,可以动态的扩展和收缩。CBase是CBufBase的父类,它使所有从他 派生的类都在heap(堆)上初始化。CBufBase类的成员函数可以归为以下几类:基本函数包括: InsertL(), Read(), Write(), Delete(), Reset() 和 Size();这些函数的可以和内存的其他部分进行数据交换,并

2006-07-22 10:53:00 1664

空空如也

空空如也

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

TA关注的人

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