待研究
文章平均质量分 78
btooth
这个作者很懒,什么都没留下…
展开
-
在Series 60设备上进行调试
在Series 60设备上进行调试 文/Peter Jiang(译自newlc.com) 安装系统 1、在你的手机上安装gdbsudb.sis。这个文件被NOKIA SDK放在这个默认目录里 C:/Symbian//6.1/Series60/Epoc32/Release/armi/urel/2、关掉手机,启动FExplorer或你的文件管理程序来创建一个名为c:/gdbstub的目转载 2006-07-22 10:47:00 · 1332 阅读 · 0 评论 -
进程和线程的区别
简单的说,你每启动一个程序,就启动了一个进程。在Windows 3.x下,进程是最小运行单位。在Windows 95/NT下,每个进程还可以启动几个线程,比如每下载一个文件可以单独开一个线程。在Windows 95/NT下,线程是最小单位。WINDOWS的多任务特性使得线程之间独立运行,但是它们彼此共享虚拟空间,也就是共用变量,线程有可能会同时操作一片内存。 线程与进程的区别多线程共存于应用程序中转载 2006-07-28 21:48:00 · 1879 阅读 · 0 评论 -
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 阅读 · 0 评论 -
枚举类型
如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。 举个例子来说明一吧,为了让大家更明白一点,比如一个铅笔盒中有一支笔,但在没有打开之前你并不知道它是什么笔,可能是铅笔也可能是钢笔,这里有两种可能,那么你就可以定义一个枚举类型来表示它!enum box{pencil,pen};//这里你就定义了一个转载 2006-07-28 21:59:00 · 939 阅读 · 0 评论 -
C++指针探讨 (一)数据指针
指针,在C/C++语言中一直是很受宠的;几乎找不到一个不使用指针的C/C++应用。用于存储数据和程序的地址,这是指针的基本功能。用于指向整型数,用整数指针(int*);指向浮点数用浮点数指针(float*);指向结构,用对应的结构指针(struct xxx *);指向任意地址,用无类型指针(void*)。 有时候,我们需要一些通用的指针。在C语言当中,(void*) 可以代表一切;但是在C+转载 2006-07-28 22:21:00 · 1117 阅读 · 0 评论 -
C++中的文件输入/输出
简介本教程将以C++最基本的文件I/O(输出/输出)开始。此后,我将从更深入的方面,为你展示一些技巧,并分析给出一些有用的函数。你需要对C++有一个较好的理解,否则这个教程于你而言将是陌生而毫无用处。 你的第一个程序 首先我将给出一段代码,接着再逐行进行解释。我们的第一个程序将建立一个文件,并写入一些字符: #include void main() //程转载 2006-07-28 22:35:00 · 135928 阅读 · 37 评论 -
浅析C++中的 new 与 delete 操作
new操作符(new operator)与operator new的关系,你想在堆上建立一个对象,应该用new操作符。它既分配内存又为对象调用构造函数。如果你仅仅想分配内存,就应该调用operator new函数;它不会调用构造函数。如果你想定制自己的在堆对象被建立时的内存分配过程,你应该写你自己的operator new函数,然后使用new操作符,new操作符会调用你定制的operator ne转载 2006-07-28 21:29:00 · 995 阅读 · 0 评论 -
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 阅读 · 0 评论 -
C++内存管理操作详解
Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 C++程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 1、内存分配方式 内存分配方式转载 2006-07-28 21:54:00 · 863 阅读 · 0 评论 -
C++中的枚举,结构,联合等。。。。
前篇已经说明编程时,拿到算法后该干的第一件事就是把资源映射成数字,而前面也说过“类型就是人为制订的如何解释内存中的二进制数的协议”,也就是说一个数字对应着一块内存(可能4字节,也可能20字节),而这个数字的类型则是附加信息,以告诉编译器当发现有对那块内存的操作语句(即某种操作符)时,要如何编写机器指令以实现那个操作。比如两个char类型的数字进行加法操作符操作,编译器编译出来的机器指令就和两个lo转载 2006-07-28 22:01:00 · 1592 阅读 · 0 评论 -
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 阅读 · 0 评论 -
关于C++类成员的初始化
在使用C++编程的过程当中,常常需要对类成员进行初始化,通常的方法有两种: 第一种方法: CMYClass::CSomeClass(){ x=0; y=1;}第二种方法: CSomeClass::CSomeClass() : x(0), y(1){} 从技术上说,第二种方法比较好,但是在大多数情况下,两者实际上没有什么区别。第二种语法被称为成员初始化列表转载 2006-07-28 22:08:00 · 1152 阅读 · 0 评论 -
C++资源之不完全导引
前言无数次听到“我要开始学习C++!”的呐喊,无数次听到“C++太复杂了,我真的学不会”的无奈。Stan Lippman先生曾在《C++ Primer》一书中指出“C++是最为难学的高级程序设计语言之一”,人们常将“之一”去掉以表达自己对C++的敬畏。诚然,C++程序设计语言对于学习者的确有很多难以逾越的鸿沟,体系结构的庞大,应接不暇并不断扩充的特性……除此之外,参考资料之多与冗杂使它的学习者转载 2006-07-28 22:15:00 · 1878 阅读 · 0 评论 -
C++指针探讨 (二) 函数指针
在C/C++中,数据指针是最直接,也最常用的,因此,理解起来也比较容易。而函数指针,作为运行时动态调用(比如回调函数 CallBack Function)是一种常见的,而且是很好用的手段。 我们先简单的说一下函数指针。(这一部份没什么价值,纯是为了引出下一节的内容) 2 常规函数指针 void(*fp)(); fp 是一个典型的函数指针,用于指向无参数,无返回转载 2006-07-28 22:22:00 · 1028 阅读 · 0 评论 -
C++指针探讨 (三) 成员函数指针
C语言的指针相当的灵活方便,但也相当容易出错。许多C语言初学者,甚至C语言老鸟都很容易栽倒在C语言的指针下。但不可否认的是,指针在C语言中的位置极其重要,也许可以偏激一点的来说:没有指针的C程序不是真正的C程序。 然而C++的指针却常常给我一种束手束脚的感觉。C++比C语言有更严格的静态类型,更加强调类型安全,强调编译时检查。因此,对于C语言中最容易错用的指针,更是不能放过:C++的指针被分成数转载 2006-07-28 22:24:00 · 1408 阅读 · 0 评论 -
C++程序员的必备工具
C++程序员的必备工具所谓“工欲善其事,必先利其器”,从程序员的角度来讲,好工具的使用总会给人带来事半功倍的效果。面对众多工具/软件,我们应该如何取舍呢。前不久,笔者在csdn的c++论坛发了一篇 贴文 ,以期能征求大家的广泛意见,得到了不错的反响。本文在对该贴进行整理的基础上,又做了一些补充。在这里要特别感谢网友:DanielWYO(爱上小白),redleaves(无心红叶)。 有以下几点需要声转载 2006-07-28 22:36:00 · 5733 阅读 · 0 评论 -
C++常见内存错误
在C和C + +中,s t a t i c都有两种基本的含义,并且这两种含义经常是互相有冲突的:1) 在固定的地址上分配,也就是说对象是在一个特殊的静态数据区上创建的,而不是每次函数调用时在堆栈上产生的。这也是静态存储的概念。2) 对一个特定的编译单位来说是本地的(就像我们在后面将要看到的,这在C + +中包括类的范围)。这里s t a t i c控制名字的可见性,所以这个名字在这个单元或类之外是转载 2006-07-28 21:45:00 · 936 阅读 · 0 评论 -
C++内存对象解析
如果一个人自称为程序高手,却对内存一无所知,那么我可以告诉你,他一定在吹牛。用C或C++写程序,需要更多地关注内存,这不仅仅是因为内存的分配是否合理直接影响着程序的效率和性能,更为主要的是,当我们操作内存的时候一不小心就会出现问题,而且很多时候,这些问题都是不易发觉的,比如内存泄漏,比如悬挂指针。笔者今天在这里并不是要讨论如何避免这些问题,而是想从另外一个角度来认识C++内存对象。 我们知道,转载 2006-07-28 21:36:00 · 1046 阅读 · 0 评论 -
C/C++面试题大汇总
最近因为找工作,收集了很多C语言方面方面的面试题以及答案。现在新工作搞定了,决定把这些资料发出来,送给有需要的朋友,免得再象我一样到处搜寻,实在辛苦。发布之前先申明两点: 1 所有资料来自网络(主要是CSDN),本人只是收集和转发。 2 所有问题解答(尤其是代码)只是参考,不保证正确。先发基本问题,再发编程问题..........想成为嵌入式程序员应知道的0x10个基本问题转载 2006-07-28 21:20:00 · 5396 阅读 · 0 评论 -
静态数据
静态数据译自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 · 2631 阅读 · 0 评论 -
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 阅读 · 0 评论 -
关于诺基亚60系列和symbian的基本问题
1. 什么是60系列平台?60系列平台是一个智能电话软件工具包,设备制造商可以通过授权在自己的智能电话硬件中使用这个平台。设备制造商可以使用标准的60系列软件,但一般情况下他们会提出需求来定制60系列软件。60系列完全使用图形化用户界面,并且包括方方面面的无线应用程序。2. 60系列是基于何种技术建立的?Symbian OS是有针对性的操作系统,它是多种移动设备的选择,是构建60系列平台的底层转载 2006-07-22 11:00:00 · 918 阅读 · 0 评论 -
C++关键字const简介
1、什么是const? 常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。(当然,我们可以偷梁换柱进行更新:)2、为什么引入const? const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点。3、cons有什么主要的作用? (1)可以定义const常量,具有不可变性。 例如: const转载 2006-07-26 13:12:00 · 1016 阅读 · 0 评论 -
C++中static关键字简介
前言: 本文只是本人对C++中关于静态类型的一个总结,如错误之处,请大家帮我改正。我分两个方面来总结,第一方面主要是相对于面向过程而言,即在这方面不涉及到类,第二方面相对于面向对象而言,主要说明static在类中的作用。一、在面向过程设计中的static关键字1、静态全局变量定义:在全局变量前,加上关键字 static 该变量就被定义成为了一个静态全局变量。特点: A、该变量在全局数据区分配内转载 2006-07-26 13:14:00 · 1015 阅读 · 0 评论 -
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 阅读 · 0 评论 -
symbian中活动对象的一些简单的使用
对symbain的学习已经又几个月了,今天来写写自己的一些活动服务对象使用方法.symbian官方推荐使用活动服务对象(CActive)来代替多线程的使用,我想这个道理是很明了的,在手机这样的小内存设备里,运行多线程的程序是非常耗资源的,为了节约资源,symbian提供了一个活动服务对象的框架,允许把程序里并发执行对象(其实不是并发,不过宏观上看来是)放在一个线程里面执行,这些并发工作的对象就通过转载 2006-07-26 13:20:00 · 1232 阅读 · 0 评论 -
C++预编译头文件
许多初学 VC 的朋友也许都为那么一个问题困扰过: 为什么所有的 cpp 都必须 #include "stdafx.h" 也许请教了别的高手之后,他们会告诉你,这是预编译头,必须包含。可是,这到底是为什么呢?预编译头有什么用呢? 这得从头文件的编译原理讲起。其实头文件并不神秘,它的全部作用,就是把自己的所有内容直接“粘贴”到相应的 #include 语句处。如果不相信的话,不妨做转载 2006-07-26 13:47:00 · 31765 阅读 · 9 评论 -
C++语言的基本问题
对于C++而言,是一种无格式的语言,编译器会忽略所有的空格,回车标记,换行符等等,并把所有这些统称为空白。 然后我们来说说标示符的命名,首先,那些基本的概念要有哦;第二,最好不要以下划线开头;第三,不要以跟关键字相近的名字命名,比如INT,Return等等。 然后程序的步骤,编辑,编译,链接,运行和测试。 对于C++而言,是一种无格式的语言,编译器会忽略所有转载 2006-07-26 21:21:00 · 1385 阅读 · 0 评论 -
c/c++ 深入探讨数组内存模型
在csdn上看到很多很多初学网友的关于指针,数组的疑问,我知道,对于一个好学的人来书,怎么做不重要,关键是为什么要这样做 在csdn上看到很多很多初学网友的关于指针,数组的疑问,我知道,对于一个好学的人来书,怎么做不重要,关键是为什么要这样做,只有深入到这一步了,才敢说‘阿,我懂了’,于是,以后碰到类似的问题,就可以从我们知道的原理出发,悠然自得而又满怀信心地推导出正确的结果。转载 2006-07-26 21:24:00 · 1448 阅读 · 0 评论 -
Double Buffering
在Prox的故乡,一个美丽而遥远的星球,计算设备早已没有了屏幕显示的概念。一切图像都以思想的速度在脑海中呈现!多么美好啊!可是,自从来到地球这个落后的星球,落后的科技使他不得不重新考虑很多问题。缓慢的屏幕图像刷新速度就是问题之一。 好比下面这样一段代码。虽然能够正确地显示图像,却伴随着令人头晕的屏幕闪烁。而且那些小方块会按着顺序一个接一个的出现,纺若一条小虫 (Profx很不喜欢的一种食品)!转载 2006-07-22 10:57:00 · 1370 阅读 · 0 评论 -
Symbian的分层
Symbian 是真正的微核操作系统,所谓“微核”,就是说操作系统 只有很小的一部分是运行在最高优先级的,其他的功能都是以Client-Server的方式提供。下面是Symbian系统的内部结构图: 应用层:Shell, OPL, 及其他应用程序=================================================================系统转载 2006-07-22 10:58:00 · 1139 阅读 · 0 评论 -
Symbian开发秘籍
1. 获取文件的完全路径在头文件添加下列声明:IMPORT_C TInt CompleteWithAppPath( TDes& aFileName );TFileName filename(_L("RETROBLASTER.MBM"));CompleteWithAppPath( filename );2. 获取当前设备显示方式(就是获取设备的色深)使用的头文件:#include 在任何VIEW转载 2006-07-22 10:59:00 · 794 阅读 · 0 评论 -
Symbian OS应用开发--文件和目录
本篇文章的主要内容是介绍基于Symbian OS的手机,如何去操作有关文件和目录。也就是手机内的一些主要信息,比如:通讯录、记事和任务、sms信息、图片文件、声音文件...在介绍上述内容之前,首先,我们先简要了解一下Symbian OS的硬件系统,这些硬件直接关系到我们对其数据的具体操作。 与典型的台式计算机相比较,Symbian OS机器的相关硬件显然有更多的限制,给我们的软件开发带来了很多的不转载 2006-07-22 11:01:00 · 767 阅读 · 0 评论 -
指针与句柄的简单转换
编程过程中,常常会遇到或使用到指针或句柄,这里简单说说有关指针、句柄间的转换。 指针的使用在编程过程中至关重要,恰到好处并能正确无误的使用指针不但能够提高程序自身的运行效率,而且有助于节省程序执行所需要消耗的资源。指针对应着某个数据在内存空间中的地址,得到了指针就可以自由地修改该数据。句柄代表指针的“指针”,也可以将其比作表中数据项的索引值( 表对应某个进程自身的内存空间 )。句转载 2006-07-22 11:23:00 · 1989 阅读 · 0 评论 -
如何定义一个完整的类
定义一个类时必须搞清楚的几个问题: 需要构造函数吗? 如果答案为 no,那么很可能你需要定义的只是一个结构,而不是一个类,因为构造函数的用途是用一种明确定义的状态来设置对象。 数据成员是私有的吗? 一般来说,如果数据成员为公有,你很难控制这些成员何时被访问。 需要一个无参数的构造函数吗转载 2006-07-28 22:39:00 · 8007 阅读 · 0 评论