技术杂类
文章平均质量分 68
axx1611
这个作者很懒,什么都没留下…
展开
-
[转]Rich Text Format (RTF) 中文版规范,版本 1.6
来源: http://tb.blog.csdn.net/TrackBack.aspx?PostId=140197.chinese{ font-size:12pt; font-family:"宋体"; background-color: white;}p{ font-size:12pt; font-family:"宋体";}.english{ font-size:9pt; font-转载 2007-06-18 09:55:00 · 4758 阅读 · 0 评论 -
i386 ABI之寄存器保护规则
一、保护原则 首先要明白ABI(Application Binary Interface, 应用程序二进制接口)主要是一个针对编译器的限定,它用以保证不同的编译器编译出的二进制代码以及同一编译器编译出的不同文件的代码之间可以安全交互。所以,如果我们要用高级语言和汇编混合编程,这里有些约定就必须明确。 举个例子,大家都知道在C语言中,EAX原创 2010-01-05 22:00:00 · 4052 阅读 · 0 评论 -
C语言中浮点型数转化为整型数的陷阱
最近做嵌入式项目,把一段老代码一直到智能手机平台之后发现了意想不到的bug。简单来说就是一个负的FLOAT强转为WORD型会变成0,比如FLOAT f = -1.0;WORD w = f;w会变成0,而不是期待的0xffff(65535)。于是我在PC上用devc++(win版g原创 2011-07-29 10:47:46 · 7196 阅读 · 1 评论 -
stat.st_dev的陷阱
最近在写一个跨平台的文件操作类,其中有一项是获得某目录所在磁盘的剩余空间大小。在linux上我采用了如下实现:1. 使用stat(path, &st1)获得该目录的属性,其中的st1.st_dev为该目录所在设备(磁盘)的设备号2. 使用fp = setmntent(_PATH_MNTTAB) -> mnt = getmntent(fp) 枚举所有挂接点3. 使用stat(原创 2012-09-28 16:49:41 · 4540 阅读 · 1 评论 -
64位ubuntu下链接器的BUG
最近在维护一个多平台的库,其中有一个64位linux的版本,在维护中发现了一个奇怪的问题。假设该库的工程由一个静态库libS.a和一个动态库libD.so构成,其中libS.a引用了系统的libdl.so(使用了dlopen函数),而libD.so用到了libS.a(但没有直接使用dlopen)。由于libD.so使用了libS.a,因此在链接libD.so需要加上-lS,另外li原创 2012-10-17 15:48:50 · 1710 阅读 · 1 评论 -
在Lua 5.2中保护全局环境
Lua脚本语言十分强大,但是有一个问题就是全局可写,比如你定义一个全局变量很容易不小心被另一个同名变量给覆盖掉。这种问题一旦出现是十分难以调查的,该文章介绍的这种机制可以解决该问题。我已经在我自己的工程中应用了该技术,它可以达到以下目的:1.全局变量不能直接在Lua中被修改2.可以创建出不能直接被修改的table3.屏蔽一些你不想开放的Lua原生函数比如文件操作原创 2012-10-28 22:17:16 · 5110 阅读 · 0 评论 -
RGSSAD解密程序(基于RgssadUnpacker改进以支持RGSS3A)
近来玩小游戏需要解密Rgssad,发现网上已有人公开了Rgssad/Rgss2a的解密代码(RgssadUnpacker):http://blog.csdn.net/rgss2ad/archive/2011/02/16/6187475.aspx但我遇到的是Rgss3a,随手google一下可以看到如下算法描述(原出处不明):rmvx ace的加密包相对于XP加密并没有太大改进,无非是m原创 2014-01-23 11:38:19 · 16997 阅读 · 1 评论