自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Coding Bad

写的比较随意,大伙凑合着看。。。

  • 博客(9)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 快速排序的非递归算法(使用队列)

前些天学习了程序栈空间的大小是会有上限的。看来递归的算法永远无法应用到大规模的数据上,毕竟栈空间有限。这几天写了点算法题目,刚好涉及到如何广度优先搜索。想起自己学数据结构的时候就想快排能否以非递归式方式实现。于是自己就写了个非递归的快排算法,以供学习。  我搜了一下网上的快排非递归算法,几乎都是使用栈来模拟的。但其实完全不必使用栈,队列一样可以。一开始觉得栈可能消耗最大空间比队列少一点,但其实

2014-01-13 20:07:24 5057 1

原创 汇编总结-第三部分_2_GNU下优化代码

通常汇编写的代码具有非常好的速度。但是难懂,所以人们就选择先编译高级语言,然后再修改汇编代码来达到优化目的。但实际上想要写的比编译器好是需要很多的练习的。对于我们这些普通的汇编使用者,就了解点简单的技巧和编译器如何优化的知识就够了。 GNU的编译器一般提供了3个级别的优化。注意优化之前先保存一遍原来的代码。因为编译器貌似会直接把你的代码改了。。 编译器提供的-o –o2-o3到

2014-01-10 14:19:27 1168

原创 汇编总结-第三部分_1_内联汇编

想要用汇编实现的代码有哪几种方式?1.      直接从头开始用汇编写。2.      先写好C程序,然后通过-S选项来修改。3.      直接在C中代码嵌入汇编的代码,也就是所谓的内联汇编 如何实现内联汇编代码?asm(“”);你在”  ”之间所写的内容就是你加入的汇编代码。要求如下:1.      指令必须包含在引号里面2.      如果包含的指令超

2014-01-10 14:17:44 932

原创 汇编总结-第二部分_3_使用函数

汇编函数是如何声明的?很简单用.type命令来创建函数的标签,如下:.type fun1, @functionfun1:保存寄存器等值。函数体ret Ps:函数一开始可以使用finit命令来清空FPU寄存器。还有pusha和popa很方便的让你全部的寄存器值一次性都保存在堆栈中和取出 那么如何访问汇编函数呢?直接call+函数标签 就OK了。

2014-01-10 14:15:44 980

原创 汇编总结-第二部分_2_数据处理

关于流程控制的太过简单,所以就在这里简单介绍一下。 汇编之中想要转变位置只能使用类似C语言中goto的模式,也就是跳转指令跳转指令分为下面3类。·短跳转 偏移量128字节之内的跳转。·近跳转 所有其余跳转·远跳转 按段来跳转 实际上偏移量128字节就说明了其控制偏移大小的是一个8位二进制所表示的范围。C语言中的switch最多也只支持256个跳转,我估计可能和这

2014-01-10 14:07:18 1008

原创 汇编总结-第二部分_1_数据传送

这一篇主要说明数据传送的问题。 首先,在AT&T汇编中的数据也是分类的。我记得学win16汇编的时候没有这个概念,只知道可以按寄存器的高低位来传送数据。下面是win32汇编的几种命令: .ascii文本字符串(不带’\0’).asciz以空格符结尾的文本字符串.byte字节值

2014-01-10 14:06:23 961

原创 汇编总结-第一部分_3_汇编的程序组成

下面进入汇编程序怎么编程的介绍。  之前我就说过汇编的段一般分为3种·数据段   .data·bss段    .bss·文本段   .text 注意这里的段都可以多次出现.C语言中的全局变量和静态变量都是存储于这个bss段。所以你应该猜到了吧?对于bss段而言,全部内容都会用0来初始化。并且注意bss段并不包含在可执行文件中。但是正如之前所强调的.BSS存放的是未初

2014-01-10 14:05:12 874

原创 汇编总结-第一部分_2_linux下汇编的相关工具

一个汇编程序员至少应该有下面这些工具:1.汇编器2.连接器3.调试器汇编器自然不用说,就是将汇编代码转换成目标代码的程序.注意是目标代码,windows平台上的可能会理解成最终的二进制代码,原因其实就是你们所用的IDE真的是给你们做了太多隐藏的工作..连接器就是将目标代码连接起来的工具.从而组成可执行文件. 汇编语言程序主要由3部分组成,1.操作码助记符2.数据

2014-01-10 14:03:56 1021

原创 汇编总结-第一部分_1_AT&T汇编的基本介绍

刚看完汇编,由于是借学校的书,所以就把关键知识点写在博客上了.参考的是richard blum的,看豆瓣上面分数蛮高的.主要平台是linux下的AT&T汇编..我学汇编主要是想可以看懂汇编代码的意思.其实所谓优化也不过是调调代码顺序,用点比较特殊的指令,如果不是很有经验的话,可能人来优化的还不如编译器..我就把汇编当作以后学新语言了解编译器在干什么的一个工具就可以了.

2014-01-10 14:02:00 1224

qemu虚拟机

具体安装过程可以看我写操作系统相关的文章。 写完会统一发布。

2015-02-16

csapp mountain.tar 存储山

CSAPP上的存储山 可以在linux运行 但是不知道怎么弄成图形的 只能在终端界面显示一堆数字 tar vxf mountain tar cd mountain make mountain

2014-05-10

win32api python

我python用的是python3.3版本的. 这个也是3.3版本的. sourceforge有时候下载太卡了,所以我估计有人会有需求~

2014-04-02

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除