Monthly Archives: April 2013

jQuery 2.0正式发布,抛弃 IE6/7/8 兼容,更小更快

Posted by bower on April 21, 2013
cross browser, javascript / No Comments

分享给你的朋友->bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark

下面是 2.0 版本的一些特性:
1、不兼容 IE6/7/8
需要注意 IE9、IE10 的兼容模式仍然会使 jQuery 2.0 运行不正常,需要在 HTTP header 指定X-UA-Compatible 属性,或者在页面 meta 标签中声明(性能原因,不推荐后者);

Continue reading…

C++中#define用法

Posted by bower on April 10, 2013
c++ / No Comments

分享给你的朋友->bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark

#define是C语言中提供的宏定义命令,其主要目的是为程序员在编程时提供一定的方便,并能在一定程度上提高程序的运行效率,但学生在学习时往往不能 理解该命令的本质,总是在此处产生一些困惑,在编程时误用该命令,使得程序的运行与预期的目的不一致,或者在读别人写的程序时,把运行结果理解错误,这对 C语言的学习很不利。
1 #define命令剖析
1.1 #define的概念
#define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。
该命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义。
(1) 简单的宏定义:
#define <宏名>   <字符串>
例: #define PI 3.1415926
(2) 带参数的宏定义
#define <宏名> ( <参数表>) <宏体>
例: #define A(x) x
一个标识符被宏定义后,该标识符便是一个宏名。这时,在程序中出现的是宏名,在该程序被编译前,先将宏名用被定义的字符串替换,这称为宏替换,替换后才进行编译,宏替换是简单的替换。
1.2 宏替换发生的时机
为了能够真正理解#define的作用,让我们来了解一下对C语言源程序的处理过程。当我们在一个集成的开发环境如Turbo C中将编写好的源程序进行编译时,实际经过了预处理、编译、汇编和连接几个过程,见图1。
源程序

Continue reading…