上一页 1 ··· 5 6 7 8 9 10 11 下一页
摘要: by falcon 2008-02-23 这篇blog从减少可执行文件大小的角度分析了ELF文件,期间通过经典的"Hello World"实例逐步演示如何通过各种常用工具来分析ELF文件,并逐步精简代码。 为了能够尽量减少可执行文件的大小,我们必须了解可执行文件的格式,以及链接生成可执行文件时的后台细节(即最终到底有哪些内容被链接到了目标代码中)。 通过选择合适的可执行文件格式并剔除对可执行文件的最终运行没有影响的内容,就可以实现目标代码的裁减。因此,通过探索减少可执行文件大小的方法,就相当 于实践性地去探索了可执行文件的格式以及链接过程的细节。 当然,算法的优化和编程语言 阅读全文
posted @ 2014-03-12 18:32 hanframe 阅读(984) 评论(0) 推荐(0) 编辑
摘要: @echo offsetlocal EnableDelayedExpansionecho 当前正在运行的批处理文件所在路径:!cd!pause@echo offecho 当前目录是:%cd%pause@echo off:: set "abc=%cd%"echo 当前正在运行的批处理文件所在路径:%~dp0pause@echo offecho 当前的盘符及路径:%~dp0echo 当前的盘符及路径的短文件名格式:%~sdp0pause@echo 取当前文件的上级目录的名称set a=D:/abc/def ghi/j k/lmn.batfor %%a in ("%a% 阅读全文
posted @ 2014-03-12 10:24 hanframe 阅读(8906) 评论(0) 推荐(0) 编辑
摘要: GDB 使用小结Gdb 不用说,两个字,非常强大 >.黑喂狗~编译选项 cc -g endin.c -o endin这里的 endin.c 是我电脑上的文件名,你自己选一个你喜欢的就OK注意编译选项一定要加 -g ,这个是为GDB 保留源程序的符号表选项,不然一会儿你加载程序将出现问题。ok, 生成二进制 endin文件以后gdb -q ./endin-q 的目的在于消除广告,你懂得现在提示(gdb)_开始介绍命令(gdb) ls 1 , n (n = 1,2,3.....n )比如 li 1,20 或者简写为 l 1,20将源程序的第1-20行列出来ok,下一步,根据行,我们可以下断点 阅读全文
posted @ 2014-03-07 00:50 hanframe 阅读(16134) 评论(0) 推荐(0) 编辑
摘要: 为了使游戏开发更加方便快捷,我继续了protobuf在lua下的尝试。socket使用的是cocos2dx集成的websocket。先说下环境:cocos2d-x-2.2.1 + protobuf 2.5.0 +protoc-gen-lua +Python 2.7.51.在protobuf目录下依次执行如下命令[plain]view plaincopypythonsetup.pybuildpythonsetup.pyinstall2.在protoc-gen-lua目录下的plugin目录中新建protoc-gen-lua.bat文件,并将如下内容粘贴到里面[plain]view plainco 阅读全文
posted @ 2014-03-05 16:54 hanframe 阅读(2824) 评论(0) 推荐(0) 编辑
摘要: #声明a=(1 2 3 4 5)#数组访问echo ${a[1]}b=([1]=d [2]=f [3]=h)#数组访问echo ${b[1]}#读取数组全部内容echo ${a[*]}echo ${a[@]}#数组删除unset a[0]echo ${a[0]}#获取数组长度echo ${#a[@]} #unset一个所以是4#数组提取c=(1 2 3 4 5 6)echo ${c[@]:0}echo ${c[@]:2:3}#子串删除e=(one otw threooeo threefour)echo ${e[@]#t*e}#左边开始最短的匹配: "t*e", 这将匹配到& 阅读全文
posted @ 2014-03-05 10:35 hanframe 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 带参数的宏定义,利用宏参数创建字符串——#运算符 看看以下两个宏定义:#define PSQR(x) printf("The square of x is %d.\n",(x)*(x))#define PSQR(x) printf("The square of "#x" is %d.\n",(x)*(x)) 我们的目标是希望使用宏的时候将宏体中的x替换为宏参数,但是第一个宏定义是不能完成这样的目标的,因为引号中的x会被看做是普通文本,不可替换;我们可以采用#运算符来实现这样的功能。PSQR(x)在两个不同的宏定义输出的结果如下:The 阅读全文
posted @ 2014-03-01 13:19 hanframe 阅读(2929) 评论(0) 推荐(0) 编辑
摘要: Equip.h:22: error: two or more data types in declaration of 'EquipConfig'Equip.h:22: error: conflicting declaration 'typedef class PBDropSubPackConfigMgr EquipConfig'Equip.h:6: error: 'struct EquipConfig' has a previous declaration as 'struct EquipConfig'make: *** [co 阅读全文
posted @ 2014-02-25 20:03 hanframe 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 如何向expect脚本里面传递参数比如下面脚本用来做ssh无密码登陆,自动输入确认yes和密码信息,用户名,密码,hostname通过参数来传递ssh.expPython代码 #!/usr/bin/expect set timeout 10 set username [lindex $argv 0] set password [lindex $argv 1] set hostname [lindex $argv 2] spawn ssh-copy-id -i .ssh/id_rsa.pub $username@$hostname expect "yes/no" send & 阅读全文
posted @ 2014-02-24 17:00 hanframe 阅读(9976) 评论(0) 推荐(1) 编辑
摘要: system "/path/to/a.sh" 阅读全文
posted @ 2014-02-24 16:40 hanframe 阅读(1448) 评论(0) 推荐(0) 编辑
摘要: 数组的声明:1)array[key]=value # array[0]=one,array[1]=two复制代码2)declare -a array # array被当作数组名复制代码3)array=( value1 value2 value3 ... )复制代码4)array=( [1]=one [2]=two [3]=three ... )复制代码5)array="one two three" # echo ${array[0|@|*]},把array变量当作数组来处理,但数组元素只有字符串本身复制代码数组的访问:1)${array[key]} # ${array[1] 阅读全文
posted @ 2014-02-24 11:27 hanframe 阅读(6259) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 下一页