追逐理想
如果你了解我,你就会喜欢我
上一页 1 ··· 7 8 9 10 11 12 13 14 15 16 下一页
摘要: 最近在优化一个小程序,其中涉及到了alpha混合的代码,如果是在台式机上可以通过mmx指令来加速,但是在arm cpu上mmx指令并不普及,所以采用了一个小技巧来做这个alpha的优化。 alpha混合其实很简单,要做的只是分解源颜色c1,目的颜色c2,然后将颜色分量r1,g1,b1和r2,g2,b2分别按照公式 ( clr * alpha + clr * (32-alpha) ) / 32 来计算,最后再组合成一个颜色值即可,可是如此计算,运算量很大速度很慢。 所以现在就要用到一个技巧,首先,就16位色来说一般的格式是565,表示rgb 分量的二进制位数,如图1。500)this.... 阅读全文
posted @ 2011-12-20 12:32 人间奇迹 阅读(3817) 评论(0) 推荐(0) 编辑
摘要: 如何实现语言中的闭包(Closure) 已经忘了是去年还是前年听到微软说要在C# 3.0里为C#添加lambda表达式,与此同时Java的团队也一直在说想为Java添加lambda表达式。到了今天,C#似乎已经把这个特性加进去了,Java还没有。Java说这个特性还在计划列表之中,不过暂时可以使用匿名类来代替。想必是因为在Java中表示函数指针的方法比较奇怪罢…… 其实无论是lambda表达式(事实上应该叫匿名函数)或是匿名类,都能归属到一种叫闭包的东西上面。闭包原来是代数中的用语,只是那些研究理论的老大们觉得这玩意儿也能拉到“闭包”里面去,于是就叫闭包了。匿名函数原本是丘奇发明的一个l... 阅读全文
posted @ 2011-11-14 18:02 人间奇迹 阅读(592) 评论(0) 推荐(0) 编辑
摘要: view plain(function(){//这里忽略jQuery所有实现})();一、匿名函数 要说匿名函数,我们首先要由函数本身说起。函数的定义如下:函数是将唯一的输出值赋予给每一输入的“法则”。 当然,这只是数学上的定义。但是,在计算机编程语言中,函数的定义也八九不离十。因为,我们都知道,计算机中的函数,也类似数学定义中的描述,它是将输入的若干数据,经过代码设定的逻辑操作处理后,返回唯一的输出的一组代码组合块。——当然,特例是,输入的数据为空或输出的数据为空,或者两者都为空。 下面,我们先初步了解一下和匿名函数相关的概念。函数声明(function 语句) 要使用一个函数,我们... 阅读全文
posted @ 2011-11-14 17:59 人间奇迹 阅读(334) 评论(0) 推荐(0) 编辑
摘要: 一、什么是闭包?“官方”的解释是:闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。相信很少有人能直接看懂这句话,因为他描述的太学术。其实这句话通俗的来说就是:中所有的function都是一个闭包。不过一般来说,嵌套的function所产生的闭包更为强大,也是大部分时候我们所谓的“闭包”。看下面这段代码: function a() {vari=0; functionb() { alert(++i); } returnb; } varc=a(); c()... 阅读全文
posted @ 2011-11-14 17:54 人间奇迹 阅读(362) 评论(0) 推荐(0) 编辑
摘要: 一般来说, "1>" 通常可以省略成 ">".即可以把如上命令写成: ls a.txt b.txt >file.out 2>file.err有了这些认识才能理解 "1>&2" 和 "2>&1".1>&2 正确返回值传递给2输出通道 &2表示2输出通道如果此处错写成 1>2, 就表示把1输出重定向到文... 阅读全文
posted @ 2011-08-25 17:05 人间奇迹 阅读(5694) 评论(0) 推荐(0) 编辑
摘要: 一. Adobe Flash 编程中实例化对象的两种方法 1. 直接在工程文件(FLA)中,将库中单个资源拖放到舞台,舞台上的一个对象即为一个对象实例 2. 基于 ActionScript 的实例化可作为将单个资源拖放到舞台上的替代方法。 第2中方法,在as编程中具有重要的意义,这个方面需要借助于 "为 ActionScript 导出库元件" 为 ActionScript 导出元件:在“库”面板中选择该元件并打开其“元件属性”对话框。必要时激活“高级”设置。在“链接”部分中,激活“为 ActionScript 导出”复选框。这将激活“类”和“基类”字段。默认情况下,&quo 阅读全文
posted @ 2011-08-14 15:24 人间奇迹 阅读(2075) 评论(0) 推荐(0) 编辑
摘要: --------------------------------------------------------------------------------------------------------- (一) 在C中,常用预处理语句#define来代替一个函数定义。例如: #define MAX(a,b) ((a)>(b)?(a):(b)) 该语句使得程序中每个出现 MAX(a,b) 的地方都被宏定义中后面的表达式((a)>(b)?(a):(b))所替换。 宏定义语句的书写格式有过分的讲究, MAX与括号之间不能有空格,所有的参数都要 放在括号里。尽管如此,它还是有麻烦: 阅读全文
posted @ 2011-03-03 13:10 人间奇迹 阅读(1551) 评论(0) 推荐(0) 编辑
摘要: 就象大家更熟悉的const一样,volatile是一个类型修饰符(type specifier)。它是被设计用来修饰被不同线程访问和修改的变量。如果没有volatile,基本上会导致这样的结果:要么无法编写多线程程序,要么编译器失去大量优化的机会。  volatile 强调读同步(优化器在用到这个变量时必须每次都小心地重新读取这个变量的值)VS 而synchronized 强调读写同步  一个定义... 阅读全文
posted @ 2010-11-12 10:43 人间奇迹 阅读(247) 评论(0) 推荐(0) 编辑
摘要: vc可以可以通过Settings -->Project-->C/C++-->Customize来设置这个编译开关            VC 编译命令开关      编译开关 功能-------------------------------------------------------------------------------------------        /C... 阅读全文
posted @ 2010-11-12 10:33 人间奇迹 阅读(2497) 评论(0) 推荐(0) 编辑
摘要: 一、C Run-time Library  Win32程序(使用Windows标准库),如果是 /MD 编译的程序,那么使用Depends.exe会发现其中需要 USER32.DLL、KERNEL32.DLL、GDI32.DLL、MSVCR80.DLL 等文件支持。像前3个DLL文件是Windows系统自带的,我们不用去考虑它(除非你在程序中使用的API,windows版本不支持)。 MSVCR80.DLL 需要注意一下的,   如果一个程序,不想再放一个 MSVCR80.DLL 文件在安装包中,可用 /MT 编译程序(静态连接)。这时就不需要这个DLL文件了.(如果有多个程序模块,还是把 M 阅读全文
posted @ 2010-11-11 19:33 人间奇迹 阅读(3741) 评论(0) 推荐(1) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 16 下一页