- 博客(173)
- 资源 (1)
- 收藏
- 关注
原创 操作系统之进程和线程--uC/os-II实例--建立任务
1.建立任务,OSTaskCreate() / OSTaskCreateExt()Code: INT8U OSTaskCreate (void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio) { void *psp; INT8U e
2011-04-12 21:51:00 2553
原创 uC/cos-II系统函数管理
任务管理 1 OSTaskCreate() 建立一个新任务。任务的建立可以在多任务环境启动之前,也可以在正在运行的任务中建立。中断处理程序中不能建立任务。一个任务可以为无限循环的结构。函数原型:INT8U OSTaskCreate(void (*task)(void *pd), void *pdata, OS_STK *ptos, INT8U prio);参数说明:t
2011-04-10 18:17:00 1414
原创 考考你的C语言-2
如果不使用位段,你怎么实现下面这段代码的功能?假定你使用的是一台16位的机器,它从左向右为位段分配内存。 struct { int a:4; int b:8: int c:3; int d:1; } x;...x.a = aaa;x.b = bbb;x.c = ccc;x.d = ddd
2011-04-09 21:16:00 742
原创 考考你的C语言-1
下面的声明取自某个源文件: int a[10]; int *b = a;但在另一个不同的源文件中,却发现来这样的代码: extern int *a; extern int b[]; ... x = a[3]; y = b[3];请解释一下,当两条赋值语句执行时会发生什么?(假定整型和指针的长度都是4个字节)
2011-04-09 21:14:00 663
原创 操作系统之线程、对称多处理器和微内核--基础知识
1. 进程和线程进程的概念包含两个特点: 资源所有权 调度/执行分派的单元通常被称作线程 或轻量级进程 ,而拥有资料所有权的单位通常仍称作进程 或任务 。多线程在多线程环境中,进程被定义成资源分派的单位和一个被保护的单位,与进程相关联的有: 存放进程映像的虚拟地址空间 受保护的对称处理器、其他进程(用于进程间通信)、文件和
2011-04-09 15:48:00 1032
原创 操作系统之进程--基础知识
1.进程和进程控制块可以把进程当成由一组元素组成的实体 。进程的两个基本的元素是程序代码 和代码相关联的数据集 。在进程执行时,任意给定一个时间,进程都可以唯一地被表征为以下元素: 标识符 状态 程序计数器 内存指针 上下文数据 I/O状态信息 记账信息前述的列表信息存放在一个叫做进程控制块的数据结构中,
2011-04-09 14:32:00 861
原创 一句话语录
不要总是用别人的标准来衡量自己的价值,也不要总是用自己的标准来衡量别人的价值。 用勇气来改变可以改变的事情,用胸怀来接受不可改变的事情,用智慧来分辨两者的不同。 Live as if you were to die tomorrow. Learn as if you were to live forever. 等候环境对他的事业完全有利才动手的人,将永远不会成功。
2011-04-02 21:14:00 512
原创 Symbian操作系统的编码规范
1.类名的第一个字母必须为大写字母,第一个字母为类的类型前缀,从第二个字母开始是类的名称,如果类的名称是由多个英文单词组成,那么每个单词的第一个字母大写,这种每个单词的首字母都大写的方法也叫做驼峰式命名法。2.函数名的第一个字母必须为大写字母,如果函数名称是由几个单词组成的,那么每个单词的第一个字母应大写。3.类的成员变量名的第一个字母必须为小写i,其余部分按照驼峰式命名法。4.函数的
2010-11-30 10:58:00 667
原创 Symbian操作系统中的类的分类
T类和C类 C类由CBase派生而来,并且在堆上分配。因此,当不再需要它们的时候,一定要进行清理。大部分的C类都有析构函数。C类通常由一个指针引用,这个指针保存于拥有该类对象的某个类的一个成员变量中,也可能是使用它的类的一个成员变量,或者是一个自动变量。对于任何C类,CBase仅有两个作用: 零初始化,将所有的成员指针和句柄都初始化为0,保证清理安全。 一个虚析
2010-11-23 00:04:00 697
原创 对象的创建与销毁
1.堆(动态对象) 内存是必要时从线程的默认堆中分配的,通常用C++的运算符new来分配内存,而很少使用User::Alloc()之类的用户库函数来分配。在Symbian操作系统中,在堆中实例化的类几乎都是派生于基类CBase。所有从CBase派生的类都必须放在该堆中,但并不是所有堆对象都必须由CBase类派生。创建对象:CMyClass * myPtr = new (ELea
2010-11-22 00:30:00 688
原创 Symbian操作系统C++
基本数据类型ETrue被映射为1,但C++将任何非零整数值都解释为true,所以不要与ETrue进行值的比较。要依靠C++的布尔类型的解释。总是使用Symbian操作系统的typedefs,不要使用原来的C++类型,以保持编译器的独立性。对于表示“空”的场所,Symbian C++使用void,对于“任何对象指针”的场合,则使用TAny*。命名约定类名前缀 类别
2010-11-20 23:21:00 632
原创 Symbian操作系统概述
Symbian操作系统有一个轻量级的、32位的、抢占式多线程的实时内核。Symbian操作系统微内核被个性化地构建在一个实时的超微内核上,这个超微内核主要负责诸如快速同步、定时器、初始中断调度以及线程调度等基本任务。 这个超微内核是现代Symbian操作系统内核架构的核心(EKA2),同时也是一个很小的实时操作系统,它是Symbian操作系统的基础,为系统提供 了低延时的中断和线程调度。在
2010-11-20 23:09:00 816
原创 Interesting Weather Idioms
its raining cats and dogs – This means its raining very heavily. a ray of sunshine – This idiom can be used to describe a person who brings joy into your life. a breath of fresh air – This
2010-07-22 14:21:00 990
原创 中庸之道(下)
物极必反,兼聪则明 要懂得物极必反的道理,宋代的张商英说过这样一段话:“事不可做尽,势不可用尽,话不可说尽,福不可享尽。凡事不尽处,则意味深长。”事物的发展和人生的起伏有着同样的规律,是经常变化的。为人处世中,如果能看清这种规律,能清醒的认识到物极必反这个道理,能时时处处收敛一点,适中就好,那于现时于日后都有好处的。而那些现在看起来是不变的东西,谁能保证它维持长久呢?祸在福中藏。当你自己
2010-07-16 14:59:00 7091
原创 你应该知道的“微表情”
A microexpression is a brief, involuntary facial expression shown on the face of humans according to emotions experienced. They usually occur in high-stakes situations, where people have something to
2010-07-15 15:25:00 1425
原创 CCTV9美女主播Kimberley Harper档案
Kimberley Harper is Biz Asias exclusive anchor, weeknights at 6pm and 9:20pm.She joined CCTV-9 in December, 2009 and presented news bulletins and Asia Today before the channel was re-launched as
2010-07-12 11:11:00 4713
转载 “赢在中国”对80后的30个忠告
1、一个年轻人,如果三年的时间里,没有任何想法,他这一生,就基本这个样子,没有多大改变了。 2、成功者就是胆识加魄力,曾经在火车上听人谈起过温州人的成功,说了这么三个字,胆子大。这其实,就是胆识,而拿得起,放得下,就是魄力。 3、这个世界,有这么一小撮的人,打开报纸,是他们的消息,打开电视,是他们的消息,街头巷尾,议论的是他们的消息,仿佛世界是为他们准备的,他们能够呼风
2010-03-03 17:11:00 534
转载 大企业在后端使用Linux的十大常见方式
世界上最大的技术支持、软件和硬件公司每天使用Linux完成各种任务与解决方案,那么这些大公司究竟是怎么使用Linux的呢?其实并不神秘,本文为你揭晓答案,大多数公司都不会使用Linux作为桌面操作系统,主要是用于后端服务器操作系统,经过这些大公司的大胆尝试,许多事实证明Linux完全可以担负起关键任务计算应用,并且有很多Linux系统从开始运行至今从未宕过机,100%的正常运行时间让人无不
2010-02-21 09:11:00 642
翻译 Linux程序设计:创建自己的静态库
Try It Out Static Libraries: 在这个例子中,你要创建出属于你自己的小型库,它包括两个 function,然后运用它们其中之一到一个例程中。两个 function 叫做 fred 和 bill,它们仅仅是输出欢迎信息。 1.首先,为每个 function 创建独立的 source file(名为 fred.c 和 bill.c )。
2010-01-29 21:28:00 484
转载 PPT制作技巧
一大群与会人员正襟危坐,你豪情满怀地进行着某个新产品的演示或介绍,却不小心由于鼠标左键的误操作导致幻灯片跳到了本不应该出现的位置,或者本应按下鼠标左键切换到下一张,却由于按下了右键而出现一个快捷菜单。不用担心,只要进行小小的设置,就可以将这些烦人的问题统统搞定。从任务窗格中打开“幻灯片切换”,将换片方式小节中的“单击鼠标时”和“每隔”两个复选项全部去除,然后将这个设置应用于所有幻灯片,以后
2009-12-21 12:31:00 952
原创 C++ Templates:重载解析
重载解析是一个过程,它针对所给的调用表达式,来选择要进行调用的函数。对于T类型的右值,T和T const&的匹配程度一样。对于T类型的左值,T和T&的匹配程度一样。重载的细节:1.非模板优先: 当重载解析的其他各个方面都是等同的时候,非模板函数将会优先于有模板产生的实例。并且重载解析通常并不会考虑(被选择的)函数的返回类型。如果这种选择是在两个模板之间进行
2009-12-17 15:52:00 438
原创 C++编程思想(卷二):设计模式:职责链模式
职责链模式-尝试采用一系列策略模式: 在职责链中,一个函数调用自身,调用函数的一个不同实现,如此反复直至达到某个终止条件。这个终止条件或者是已到达策略链的底部或者是成功找到一个策略。本质是尝试多个解决方法直到找到一个起作用的方法。例:#include #include #include "../purge.h"using namespace std;enu
2009-12-11 11:11:00 764
原创 C++编程思想(卷二):设计模式:策略模式
策略模式:和模板方法模式相比,策略模式的一个明显的好处是在程序运行时,可以插入变化的代码。例:#include using namespace std;class NameStrategy {public: virtual void greet() = 0;};class SayHi : public NameStrategy {public:
2009-12-11 11:10:00 583
原创 C++编程思想(卷二):设计模式:模板方法模式
模板方法模式:一个重要特征是它的定义在基类中并且不能改动--模板方法模式就是“坚持相同的代码”,而被覆盖的函数是“变化的代码”。例:#include using namespace std;class ApplicationFramework {protected: virtual void customize1() = 0; virtual void cu
2009-12-11 11:09:00 585
原创 C++编程思想(卷二):设计模式:适配器模式
适配器模式:接受一种类型并且提供一个对其他类型的接口。以斐波那契数列发生器为例:头文件:#ifndef FIBONACCIGENERATOR_H#define FIBONACCIGENERATOR_Hclass FibonacciGenerator { int n; int val[2];public: FibonacciGenerator() :
2009-12-11 11:07:00 469
原创 C++编程思想(卷二):设计模式:状态模式
状态模式:状态模式产生一个可以改变其类的对象。状态模式通过一个前端对象来使用后端实现对象履行其职责。#include #include using namespace std;class Creature { class State { public: virtual string response() = 0; }; class Fr
2009-12-10 15:35:00 803
原创 C++编程思想(卷二):设计模式:代理模式
代理模式:#include using namespace std;class ProxyBase {public: virtual void f() = 0; virtual void g() = 0; virtual void h() = 0; virtual ~ProxyBase() {}};class Implementation : p
2009-12-10 15:34:00 667
原创 C++编程思想(卷二):设计模式:命令模式
命令模式:特点是消除被调用函数的选择与那个函数被调用的位置之间的联系。命令模式就是一个函数对象:一个作为对象的函数。通过将函数封装为对象,就能够以参数的形式将其传递给其他函数或者对象。例:#include #include using namespace std;class Command {public: virtual void execute() =
2009-12-10 15:32:00 1634
原创 C++编程思想(卷二):设计模式:单件
单件(Singleton):例:允许一个类有且仅有一个实例的方法#include using namespace std;class Singleton { static Singleton s; int i; Singleton(int x) : i(x) { } Singleton& operator=(Singleton&); // Disall
2009-12-10 15:29:00 586
原创 C++编程思想(卷二):设计模式(序)
模型分类:创建型:单件模式、工厂模式和构建器模式结构型:代理模式和适配器模式行为型:命令模式、模板方法模式、状态模式、策略模式、职责链模式、观察者模式、多派遣模式和访问者模式
2009-12-10 15:27:00 454
原创 数据结构-C++描述:数据描述引言
最常见的数据描述方法有:公式化描述、链接描述、间接寻址和模拟指针。 公式化描述借助数学公式来确定元素表中的每个元素分别存储在何处(如存储器地址)。最简单的情形就是把所有元素依次连续存储在一片连续的存储空间中,这就是通常所说的连续线性表。 在链接描述中,元素表中的每个元素可以存储在存储器的不同区域中,每个元素都包含一个指向下一个元素的指针。
2009-12-08 11:27:00 534
原创 C++编程思想(卷二):运行时类型识别(RTTI)
运行时类型转换:借助dynamic_cast操作符,C++提供一个可检查多派生类型转换的能力。例:#ifndef SECURITY_H#define SECURITY_H#include class Security {public: virtual ~Security() {}};class Stock : public Security {};
2009-12-08 11:17:00 594
Accelerated C++
2009-06-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人