Linux
羊肉汤
这个作者很懒,什么都没留下…
展开
-
20120326工作日记——hexdump与xxd
在Linux下查看二进制文件的软件: xxd hexdump转载 2012-03-26 22:04:04 · 488 阅读 · 0 评论 -
20120330工作日记——Linux指令与汇编编写
这几天在写汇编程序,其实汇编比较简单,但是功能有限,实现简单的功能需要的语句就多,不过写了汇编之后对函数的调用和指针就了解的很清楚了。 vim指令: 竖直分屏 :vsplit 查找:/XXX 查找下一个:n 复制:yy ,y1w,yG 粘贴:p Linux下的复制: 复制: cp -i 源文件或目录 目标文件或目录 重命名或移动文件:mv原创 2012-03-30 22:29:24 · 560 阅读 · 0 评论 -
20120327工作日记——chmod以及O2优化
今天解决了两个bug,不过都是在同学的帮助下: 第一个bug是将benchmark程序从x86移植到apc上运行结果不对,后来发现apc是大端,而x86是小端。用了一个大小端转换的软件后解决问题。个人理解:小端不正常,大端正常。 第二个bug是看不到某个函数的调用,加了断点却总是运行不到那去,后来发现是gcc在编译的时候把这个函数优化掉了(优化参数 -O2),后来将这个函数用汇编定义了一遍才解原创 2012-03-27 22:13:27 · 426 阅读 · 0 评论 -
20120331工作日记——汇编程序的优化
经过几天的学习调试,将某个算法转换成了汇编程序,经过profile,发现需要的指令数提高了4倍。。。。。。泪流满面。。。。。。 经过这个过程我了解到一些事情: 首先基于汇编的人工优化主要是使用特殊的指令,在特殊的寻址或运算中,如果有对应的指令(扩展的指令集),效率会大幅提高,但是这个C程序本身已经是很优化了,只有简单的加减移位等操作,如果只是用基本的汇编指令的话,人工优化很难比编译器优化的好。原创 2012-03-31 20:31:32 · 437 阅读 · 0 评论 -
20120405工作日记——gcc的优化
gcc的优化有四个选项,O0,O1,O2,O3,其中O0基本不优化,O1是默认的优化选项,O2是常用的优化选项,O3我还没用过。 程序经过优化后就不在于源程序一一对应了,虽然结果是正确的,但是在gdb单步调试的时候可能会出现执行顺序的跳转以及单步运行结果的不准确。如果单步执行出来的结果明显不准确呢可能就是优化的原因了。原创 2012-04-05 22:30:09 · 408 阅读 · 0 评论