自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (3)
  • 收藏
  • 关注

转载 JAVA环境变量JAVA_HOME、CLASSPATH、PATH设置详解

<br /> <br />Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。下面逐个分析。<br />    JAVA_HOME指向的是JDK的安装路径,如C:/jdk1.5.0_06,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如x:/XXXXXX/xxxxx/XXXX/xxxx/XXXX/xxxx/XXXX/xxx……<br />那么,下面的步骤和以

2011-04-06 17:09:00 842

原创 Iphone两视图相互切换

<br /> <br />算了,直接给出代码。<br />- (IBAction) switchViews:(id) sender{if (self.yellowViewController.view.superview == nil) {if (self.yellowViewController == nil) {YellowViewController *yellowViewCtrl = [[YellowViewController alloc] initWithNibName:@"Ye

2011-03-24 15:39:00 871

转载 RTTI 运行时类型识别

RTTI(运行时类型识别)允许“用指向基类的指针或引用来操纵对象”的程序能够获取到“这些指针或引用所指对象“的实际派生类型。在c++中,为了支持RTTI,提供了两个操作符:1、dynamic_cast 操作符,它允许在运行时刻进行类型转换,从而使程序能够在一个类层次结构中安全地转换类型,把基类指针转换成派生类指针,或把指向基类的左值转换成派生类的引用,当然只有在保证转换能够成功的情况下才可以。2、typeid 操作符,它指出指针或引用指向的对象的实际派生类型。但是,对于要获得的派生类类型的信息,dynami

2011-03-14 17:55:00 661

原创 谈谈C++的类型转换符 static_cast、dynamic_cast、const_cast、reinterpret_cast

一、C风格(C-style)强制类型转换(T) expression// cast expression to be of type T二、C++的几种类型转换符号1. static_cast用法:static_cast ( expression ) Remarks:No run-time type check is made to help ensure the safety of the conversion.该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的

2011-03-14 17:42:00 855

转载 Android adb shell 命令

adb 概述SDK的Tools文件夹下包含着Android模拟器操作的重要命令 adb,adb的全称为(Android Debug Bridge就是调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序。借助这个工具,我们可以管理设备或手机模拟器的状态。还可以进行以下的操作:1.快速更新设备或手机模拟器中的代码,如应用或Android 系统升级;2.在设备上运行shell命令;3.管理设备或手机模拟器上的预定端口;4.在设备或手机模拟器上复制或粘贴文件;adb在集成开发环

2010-12-30 11:17:00 654

原创 方便好用的selector

  在Andorid的应用中,使用selector可以非常方便的去更改Button点击、ListView、ListItem、EditText等获取焦点时的背景图片。

2010-12-30 10:59:00 653

原创 如何禁止Android应用程序的横竖屏切换

  在AndroidManifest.xml的activity(需要禁止转向的activity)配置中加入 android:screenOrientation=”landscape”属性即可(landscape是横向,portrait是纵向)。

2010-12-30 10:44:00 1373

原创 Android:layout_weight的用法

  layout_weight是LinearLayout中View布局里一个很重要的属性。  所有view中的layout_weight缺省值都是为0,意味着他们只在屏幕上占据它们需要显示的空间大小。  activity根据这个View的比0大的layout_weight值来划分剩余的空间和其它Views定义的layout_weight也按比例进行空间的划分。  举例说明:假设在LinearLayout布局中,水平方向上有一个TextView和两个EidtText. TextView没有定义layout_w

2010-12-30 10:28:00 2648

转载 常见的集中排序算法

<br />#include<stdio.h>#include<stdlib.h>struct node{ int key;}r[20];struct rnode{ int key; int point;};main(){ void print(struct node a[20],int n); int creat(); void shell(struct node a[20],int n); int hoare(struct n

2010-12-29 09:30:00 842

原创 Memento(备忘录)——对象行为模式

  意图:在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。  其实单就实现保存一个对象在某一时刻的状态的功能,还是很简单的——将对象中要保存的属性放到一个专门管理备份的对象中,需要的时候则调用约定好的方法将备份的属性放回到原来的对象中去。但是你要好好看看为了能让你的备份对象访问到原对象中的属性,是否意味着你就要全部公开或者包内公开对象原本私有的属性呢?如果你的做法已经破坏了封装,那么就要考虑重构一下了。

2010-12-28 17:08:00 611

原创 介绍用Visual Studio 2010画UML

http://channel9.msdn.com/Blogs/clinted

2010-12-25 06:23:00 1536

原创 Chain of Responsibility(职责链)——对象行为型模式

职责链模式:使多个请求对象都有机会处理请求,从而避免请求对象的发送者和接收者之间的耦合关系。将这些请求对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。

2010-12-23 17:56:00 508

原创 UML例图说明

对上面的UML图例之间的关系做一下总结:一、关联(association)    两者之间只是一种“知道”的关系,耦合度非常小。例如上图中的企鹅类与气候类。     图形表示:用一根连接类的实线表示,用箭头表示关联的方向;如果不明确指明方向,则默认关联是双向的。二、 聚合(aggregation)聚合体现了类之间的一种整体与部分的关系,表示一种很弱的“拥有”关系。体现了一种层次结构,整体类位于部分类的上层,多个部分类处于并列的层次。图形表示:尾端带一个菱形的单箭头直线,菱形指向整体部分。三、 组合(comp

2010-12-23 16:11:00 1179

原创 malloc/free与new/delete的区别

相同点:都可用于申请动态内存和释放内存不同点:(1)操作对象有所不同。malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自动执行析构函数。由于malloc/free 是库函数而不是运算符,不在编译器控制权限之内,不能够把执行构造函数和析构函数的任务强加malloc/free。(2)在用法上也有所不同。函数malloc 的原型如下:voi

2010-12-20 17:54:00 449

转载 #pragma 预处理指令

      在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作。#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征。依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的。其格式一般为:      #Pragma Para      其中Para 为参数,下面来看一些常用的参数。      (1)message 参数。 Message 参数是我最喜欢的一个参数,

2010-12-20 17:53:00 500

转载 Release版与Debug版程序的问题

一、Debug 和 Release 编译方式的本质区别    Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序。Release 称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的,以便用户很好地使用。    Debug 和 Release 的真正秘密,在于一组编译选项。下面列出了分别针对二者的选项(当然除此之外还有其他一些,如/Fd /Fo,但区别并不重要,通常他们也不会引起 Release 版错误,在此不讨论)Debug 版本: /MDd /M

2010-12-20 17:50:00 790

转载 在VC程序中使用调试语句

在VC程序中使用调试语句         为了更好地对程序调试,可以使用如下方法:使用断言、使用跟踪语句、使用异常和返回值。一、断言1、基本概念  断言是一种让错误在运行时候自我暴露的简单有效实用的技术。它们帮助你较早较轻易地发现错误,使得整个调试过程效率更高。  断言是布尔调试语句,用来检测在程序正常运行的时候某一个条件的值是否总为真,它能让错误在运行时刻暴露在程序员面前。使用断言的最大好处在于,能在更解决错误的发源地的地方发现错误。断言具有以下特征:      .断言是用来发现运行时刻错误的,发现的错误

2010-12-20 17:44:00 954

转载 使用Visual C++调试器调试

使用Visual C++调试器调试一、调试版本与发布版本  有时程序能在调试版本运行但不能运行于发布版本,反之也有可能。一般说来,一个发布版本意味着某些类型的优化,而一个调试版本则没有优化。下面我们来看看它们的区别:1、特别针对调试版本的编译选项(1)/MDd,/MLd或者/MTd   调试版本的运行时刻库有调试符号,使用了调试堆,调试堆的目的是发现内存破坏和内存泄漏,并且向用户报告源代码的哪个地方出了问题。特性:.调试版本的运行时刻库对内存的分配作了跟踪,允许用户检查内存泄漏。.在刚分配的内存里写上0xC

2010-12-20 17:41:00 2130

原创 理解Windows OS的内核对象

      理解内核对象,先要了解什么是内核。内核可以理解为一个人的大脑,我们知道大脑能控制一个人的行为,但是大脑并不是直接控制,而是是通过神经来传递命令,内核对象就是操作系统的神经。内核对象实际上就是一些只有内核才能访问的内存数据,内核通过访问这些数据来完成对系统的控制,上层可以看到内核对象,并执行对它的一些操作,但是却无法访问这些数据。进程、线程、作业等都是内核对象,你可以操作它们却不能访问它们。

2010-12-20 17:33:00 584

原创 简单谈谈strlen与sizeof的区别

1.sizeof操作符的结果类型是size_t,它在头文件中typedef为unsigned int类型。该类型保证能容纳实现所建立的最大对象的字节大小。  2.sizeof是算符,strlen是函数。 3.sizeof可以用类型做参数,strlen只能用char*做参数,且必须是以''/0''结尾的。4.数组做sizeof的参数不退化,传递给strlen就退化为指针了。 5.大部分编译程序在编译的时候就把sizeof计算过了 是类型或是变量的长度这就是sizeof(x)可以用来定义数组维数的原因 char

2010-12-20 17:21:00 566

原创 字符数组与字符指针的区别。

char* s1 = "hello"; char s2[] = "world";相同点:都是表示一个字符串。不同点:操作系统对它们在内存中的存储方式作了不同的处理。下面是测试代码:#include int main(){ char *S1 = "Hello"; char S2[] = "World";// *(S1+2) = 'x'; // 执行时出错。 *(S2+5) = 'x'; // 执行时正确。 *(S2+6) = '/0';

2010-12-20 17:07:00 411

原创 Widget中使用ImageView显示图片的问题

  前段时间碰到一件很奇怪的事情,在ListView中使用ImageView能将图片显示出来,而在widget中使用ImageView却显示不出来,刚开始以为是widget的布局有问题,后来确定不是widget布局的问题,没办法,尝试着对源数据中的图片大小进行裁剪缩小,图片终于在widget的ImageView中显示了出来,猜测是widget对ImageView有影响。

2010-12-20 16:48:00 1315

原创 如何在Windows平台下可以方便获取到android的源码?

一、安装Cygwin软件;二、下载git软件;三、安装git-1.7.3.2.tar.bz2$ tar jxvf git-1.7.3.2.tar.bz2$ make install四、安装Repo, 在home目录创建bin目录,然后获取Repo并授于它执行的权限;$ cd ~$ mkdir bin$ curl http://android.git.kernel.org/repo >~/bin/repo$ chmod a+x ~/bin/repo接下来把bin目录加入$PATH:$ export PATH=

2010-12-20 16:44:00 509

转载 Linux 信号signal处理机制

一、信号的基本概念        本节先介绍信号的一些基本概念,然后给出一些基本的信号类型和信号对应的事件。基本概念对于理解和使用信号,对于理解信号机制都特别重要。下面就来看看什么是信号。        1、基本概念        软中断信号(signal,又简称为信号)用来通知进程发生了异步事件。进程之间可以互相通过系统调用kill发送软中断信号。内核也可以因为内部事件而给进程发送信

2008-06-09 09:45:00 545

原创 透明处理位图。

void CLoginDialog::OnPaint() { CPaintDC dc(GetDlgItem(IDC_STATIC_RECT)); // TODO: Add your message handler code here and/or call default CRect rect; m_staRect.GetClientRect(&rect);   // 得到static客户区矩形 

2007-06-25 00:09:00 938

原创 关于双缓冲绘图(下)

小结:主要的思想是,如果要显示图形,直接把该图形当作一个document,在改写document的时候,实际上就是改写这个位图。然后在View中显示的时候,直接把这个位图显示出来就可以了。这需要两个DC,一个DC是台面上的显示用的,一个DC是在内存中绘图用的。两者的关联点就在于这个bitmap对象。需要明确几个概念,由于MFC的类封装了windows对象,所以由MFC类创建出来的对象就叫做“实

2007-06-24 18:20:00 922

原创 关于双缓冲绘图(上)

用MFC如何高效地绘图TouchMe    显示图形如何避免闪烁,如何提高显示效率是问得比较多的问题。而且多数人认为MFC的绘图函数效率很低,总是想寻求其它的解决方案。MFC的绘图效率的确不高但也不差,而且它的绘图函数使用非常简单,只要使用方法得当,再加上一些技巧,用MFC可以得到效率很高的绘图程序。我想就我长期(呵呵当然也只有2年多)使用MFC绘图的经验谈谈我的一些观点。1、显示的图形为什么会闪

2007-06-24 18:16:00 1069

设计模式——职责链源码(C++)

用C++简单的实现职责链(Chain of Responsibility)。

2010-12-24

Nat穿透

详细介绍了Nat穿透的几种解决方案。

2008-03-21

空空如也

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

TA关注的人

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