自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Javascript中this的取值

this是javascript中非常基础的一个知识点,也是一个令很多初学者迷惑的知识点。Ecmascript中对其描述如下:There is a this value associated with every active execution context. The this value depends on the caller and the type of code bei...

2013-05-09 15:14:07 163

原创 Views vs. Layers

  For many iOS developers, layers are a lower-level, complex version of the UIView. In reality, it’s the UIView which is a thin layer on top of CALayer. Unfortuntely, 95% of the iOS books and doc...

2013-05-06 20:15:47 131

原创 UIView and CALayer

  研究Core Animation已经有段时间了,关于Core Animation,网上没什么好的介绍。苹果网站上有篇专门的总结性介绍,但是似乎原理性的东西不多,看得人云山雾罩,感觉,写那篇东西的人,其实是假 设读的人了解界面动画技术的原理的。今天有点别的事情要使用Linux,忘掉了ssh的密码,没办法重新设ssh,结果怎么也想不起来怎么设ssh远程登 陆了,没办法又到网上查了一遍,太...

2013-04-15 13:26:10 134

原创 ARC

   在iOS开发过程中,属性的定义往往与retain, assign, copy有关,我想大家都很熟悉了,在此我也不介绍,网上有很多相关文章。 现在我们看看iOS5中新的关键字strong, weak, unsafe_unretained. 可以与以前的关键字对应学习strong与retain类似,weak与unsafe_unretained功能差不多(有点区别,等下会介...

2013-03-25 10:26:30 124

原创 内存内存

  http://blog.jobbole.com/34303/

2013-03-06 15:37:38 323

原创 Blocks与Dispatch Queue的使用

  block是什么block是一个C level的语法以及运行时的一个特性,和标准C中的函数(函数指针)类似。用于回调函数的地方。两个对象间的通讯。实现轻量级的“代理”。blocks和C语言函数指针的区别 如何调用blocks调用block和C语言函数指针的调用一模一样  如何在 block 中修改外部变量?????考虑到 block 的目的是为了支持并行编程,...

2013-03-05 13:01:57 87

原创 KVO

  Kvo是Cocoa的一个重要机制,他提供了观察某一属性变化的方法,极大的简化了代码。这种观察-被观察模型适用于这样的情况,比方说根据A(数 据类)的某个属性值变化,B(view类)中的某个属性做出相应变化。对于推崇MVC的cocoa而言,kvo应用的地方非常广泛。(这样的机制听起来类 似Notification,但是notification是需要一个发送notification的对象...

2013-02-21 12:33:18 69

原创 UIWebView加载本地文件

  NSString *htmlPath = @"addComment.html"; NSString *encodedPath = [htmlPath stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]; NSString *urlStr = nil; if (self.itemId ...

2013-02-19 17:36:27 72

原创 UILabel顶端对齐

code中默认的UILabel是垂直居中对齐的,如果你的UILabel高度有多行,当内容少的时候,会自动垂直居中。    比较郁闷的是,UILabel并不提供设置其垂直对齐方式的选项。所以如果你想让你的文字顶部对齐,那么就需要自己想办法了。  stackoverflow.com 上提供了几种方法来达到顶部对齐的效果。 方法一: 在显示文字时,首先计算显示...

2013-02-19 17:33:20 131

原创 关于设置UIView的背景为图片的方法以及问题

本文分析对比了各种更改UIView背景的方法。当然,背景是根据一个图片来的(非纯色)。一.加一个uiimageview在uiview上面   UIImageView* imageView = [[UIImageView alloc] initWithFrame:view.bounds]; imageView.image = [[UIImage imageNamed:@"n...

2013-02-19 17:30:54 85

原创 TerminateThread可能导致程序崩溃

DWORD __stdcall mythread(void* ){    while( true )    {        char* p = new char[1024];        delete p;    }}int _tmain(int argc, _TCHAR* argv[]){    HANDLE h = CreateThread(NULL, 0, mythread, N...

2011-06-27 22:22:54 707

原创 模态对话框可能导致程序崩溃

在开发Windows引用程序的时候,在一些需要用户确认,或者提示用户注意的场合,经常使用模态对话框,或者叫模态窗口。在绝大多数情况下,模态窗口给开发人员带来了极大的便利,并且在某些应用上有不可替代的优势。然而凡事有利必有弊,如果不正确地使用模态窗口,却有可能带来某些严重问题,甚至可能引起程序崩溃。要想知道为什么模态窗口可能带来某些严重问题,就必须首先了解模态窗口的实现原理。因此本文将首先介绍模...

2011-06-27 22:18:28 514

原创 GNU/Linux

     GNU/Linux是GNU计划的支持者与开发者,特别是其创立者理查德·斯托曼对于一个以Linux闻名的类Unix操作系统的称呼。    由林纳斯·托瓦兹及其他人士开发的Linux并不是一个完整的操作系统,而仅仅是一个类Unix内核。事实上,Linux一开始是以完成Minix内核的功能为目标,林纳斯想做一个“比Minix更好的Minix”。而GNU计划始于1984年,终极目标是完成...

2011-06-13 20:37:04 96

原创 进程(1)——进程句柄和命令行

进程实例句柄加载到进程地址空间的每一个可执行文件或者DLL文件都被赋予了一个独一无二的实例句柄。可执行文件的实例被当作(w)WinMain函数的第一个参数hInstanceExe传入。在需要加载资源的函数调用中,一般都要提供此句柄的值。例如,为了从可执行文件的映像中加载一个图标资源,就需要调用下面这个函数:HICON LoadIcon (                   HI...

2011-06-10 10:11:03 330

原创 GUI界的大战: QT VS GTK

      Qt 是一个跨平台的 C++ 图形用户界面库,由挪威 TrollTech公司出品,目前包括Qt, 基于 Framebuffer 的 Qt Embedded,快速开发工具 Qt Designer,国际化工具 Qt Linguist 等部分. Qt支持所有 Unix 系统,当然也包括 Linux,还支持WinNT/Win2k,Win95/98 平台。         Trolltech...

2011-06-09 22:54:56 100

原创 word快速插入水平分割线

  我们在用Word编辑试卷或教案时,经常需要插入水平分隔线来美化文档。如果用绘图工具栏来绘制就太慢了,其实我们还可以这样操作:在需要插入水平分隔线的地方敲回车键新建一个段落,然后分别输入如下字符,就会出现不同的分隔线。  1. 输入连续的三个“-”(减号),然后再敲回车键,就插入了一个细水平分隔线。  2. 输入三个“_” (下划线),然后再敲回车键,就插入了一个粗水平分隔线。  3. 输入三个...

2011-06-09 17:18:50 306

原创 windows应用程序的生命周期

 Windows支持两种类型的应用程序:GUI和CUI程序。前者是GraphicalUser Interface的简称,后者是Console User Interface的简称。 用VS创建一个项目的时候,IDE会设置各种链接器开关,使链接器将子系统(注1)的正确类型嵌入最终生成的可执行文件中。对于CUI程序,这个链接器开关是/SUBSYSTEM:CONSOLE,对于GUI程序,则...

2011-06-09 12:31:08 264

firefox中input隐藏之后用js获取选择起始和结束位置引起异常(源码分析)

var textEl = document.getElementById("testText");textEl.style.display = "none"; try{ var a = textEl.selectionStart;}catch(e){ alert(e);}      textEl是一个很简单的html的input输入框。但是在...

2011-05-06 15:54:05 103

原创 COM包容和聚合

   包容和聚合实际上是一个组件使用另一个组件的技术。对于这两个组件,可以把第一个组件称为外部组件,被使用组件称为内部组件。     1、包容简介     COM包容同C++包容是相似的。但是在COM中,同其他内容类似,包容也是在接口级完成的。外部组件包含指向内部组件接口的指针。此时外部组件只是内部组件的一个客户,它将使用内部组件的接口来实现自己的接口。     外边组件也可以通过将调...

2011-03-16 17:23:31 203

原创 DIV的高度自适应及注意问题

一、高度的自适应(父div高度随子div的高度改变而改变)1、如果父div不定义height、子div均为标准流的时候,父div的height随内容的变化而变化,实现父div高度随子div的高度改变而改变。代码:<style type="text/css">     #aa{ border:#000000 solid 5px}     #bb{border:#00ffff soli...

2011-03-03 12:05:11 94

C++ Template Metaprogramming——一个小型lambda库的实作

Boost里面的lambda库实在是很复杂,因此我对其进行了精简,缩减到300多行代码,只支持+-*/四则运算,虽没有boost中lambda库那么强大,亦可窥其奥妙。下面是lambda库的源码: /* * lambda.h * * Created on: 2010-12-28 * Author: */#ifndef LAMBDA_H_#de...

2011-02-24 16:01:55 165

JNI实现命名管道服务器(二)——实现

原理在上一篇已经说好了,在这就不再赘述了,直接上代码,代码只是实现了一个基本框架,需要完善的东西大家可以自己加:NamedPipe.java public class NamedPipe implements Pipe { static{ System.loadLibrary("NPJNI"); } NamedPipeInputStream is; N...

2010-12-13 21:51:30 236

原创 JNI实现命名管道服务器(一)——命名管道简介

  一个命名管道是一个具名的,单工或双工通讯的管道,它可以在一个管道服务器和多个管道管道客户端之间进行通讯。所有的命名管道实例共用一个管道名称,但是每个管道实例拥有自己的缓冲区和句柄,以提供单独的服务器/客户端通讯信道。 所有的进程都可以访问命名管道,这也使得命名管道成为进程间通讯的利器。 同样,任何进程既可以充当管道服务器,也可以充当管道客户端,这使得进程间点对点通讯成为可能。 ...

2010-12-13 21:31:29 303

原创 XPCOM字符串操作(二)

 Unicode转化ns*CString vs. ns*String字符串有两种基本的存储格式: 8-bit code unit (byte/char) 字符串, 或者 16-bit code unit (PRUnichar) 字符串. 所有带大写C开头的字符串类都是8-bit的. 包括include nsCString, nsDependentCString, 当然所有不含大写C开头的字...

2010-12-10 14:00:55 207

XPCOM字符串操作(一)

XPCOM中的字符串类可以用操作做宽字节(16bit)和窄字节字符串。 宽字节和窄字节字符串基类是分开的,但是它们提供的接口是一致的。而对于每一个宽字节的实现类,都有一个类似的窄字节实现类。Naming convention for wide and narrow string classesWideNarrownsAStringnsACString...

2010-12-10 13:49:48 153

原创 XPCOM简介

      Cross Platform Component Object Module (XPCOM) 是一个允许开发人员把一个大的工程划分成小的模块的框架. 这些小模块称为组件, 它们在运行时刻组装在一起.XPCOM 的目标是使软件的不同部分分别开发, 相互独立. 为了是应用的不同组件之间能够互操作, XPCOM 把组件的实现与接口(后面讨论接口)分开. 同时 XPCOM 还提供了加载...

2010-12-10 12:07:22 477

空空如也

空空如也

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

TA关注的人

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