一、#define的基本用法1.#define命令剖析1.1
#define的概念#define命令是C语言中的一个宏定义命令,它用来将一个标识符定义为一个字符串,该标识符被称为宏名,被定义的字符串称为替换文本。该命令有两种格式:一种是简单的宏定义,另一种是带参数的宏定义。(1)简单的宏定义#def...
分类:
其他好文 时间:
2014-05-19 19:00:00
阅读次数:
263
前言
UglifyJS会对JS文件的变量名进行混淆处理,要理解Javascript变量混淆的细节,我们需要回答以下几个问题:
1.遇到一个变量myName,我们怎么知道这个myName变量要不要混淆
2.混淆名字怎么生成才合适,新的名字替换旧的名字时有什么要注意的地方?
3.哪些关键字会产生一个作用域?
4.作用域链跟符号表在UglifyJS里边是怎么体现?
5.UglifyJS混...
分类:
编程语言 时间:
2014-05-18 10:18:26
阅读次数:
348
//普通方法
void strcpy1(char str1[], char str2[]){
int i = 0;
for (; str2[i] != '\0'; i++){
str1[i] = str2[i];
}
str1[i] = '\0';
}
//简练方法
void strcpy2(char str1[], char str2[]){
int i = 0;
whil...
分类:
其他好文 时间:
2014-05-18 09:47:40
阅读次数:
273
#include int main(void) { int a[5] = {1, 2, 3, 4,
5}; int* ptr1 = (int*)(&a + 1); int* ptr2 = (int*)((int)a + 1); printf("%x,
%x\n", ptr1[-1], *pt...
分类:
编程语言 时间:
2014-05-18 02:49:18
阅读次数:
271
libevent源码深度剖析十一——时间管理张亮
为了支持定时器,Libevent必须和系统时间打交道,这一部分的内容也比较简单,主要涉及到时间的加减辅助函数、时间缓存、时间校正和定时器堆的时间值调整等。下面就结合源代码来分析一下。1
初始化检测 Libevent在初始化时会检测系统时间的类型,通过...
分类:
其他好文 时间:
2014-05-16 09:16:50
阅读次数:
299
libevent源码深度剖析十——支持I/O多路复用技术张亮
Libevent的核心是事件驱动、同步非阻塞,为了达到这一目标,必须采用系统提供的I/O多路复用技术,而这些在Windows、Linux、Unix等不同平台上却各有不同,如何能提供优雅而统一的支持方式,是首要关键的问题,这其实不难,本节就...
分类:
其他好文 时间:
2014-05-16 08:58:03
阅读次数:
345
libevent源码深度剖析九——集成定时器事件张亮
现在再来详细分析libevent中I/O事件和Timer事件的集成,与Signal相比,Timer事件的集成会直观和简单很多。Libevent对堆的调整操作做了一些优化,本节还会描述这些优化方法。1
集成到事件主循环 因为系统的I/O机制像sel...
分类:
其他好文 时间:
2014-05-16 08:50:36
阅读次数:
329
1vector的使用我们只可以使用operator[]和at()去改动那些已经存在于容器中的东西.而用reserve()函数不会使得容器中充满函数,需要用resize()函数代替当不对容器内的元素做任何改动时,记得使用const_iterator2关于标准成员函数C++标准库的实现中的成员函数签名并不要求与标准中说..
分类:
编程语言 时间:
2014-05-16 02:35:30
阅读次数:
360
java-类生命周期(二),理论联系实际,例子剖析...
分类:
编程语言 时间:
2014-05-15 19:22:14
阅读次数:
370
这篇文档基于qemu-kvm-1.1.0源码进行分析,对虚拟机迁移过程进行详细剖析。...
分类:
其他好文 时间:
2014-05-15 00:18:40
阅读次数:
376