
GAS
tiefanhe
这个作者很懒,什么都没留下…
展开
-
基于LINUX平台G++编译器从汇编层面深度剖析C++虚函数
虚函数是C++语言实现运行时多态的唯一手段,因此掌握C++虚函数也成为C++程序员是否合格的试金石。诚然,C++虚函数的结构会因编译器不同而异,但所使用的原理是一样的。为此,本文使用linux平台下的g++编译器,试图从汇编的层面上分析虚函数表的结构,以及如何利用它来实现运行时多态。汇编语言是难读的,特别是对一些没有汇编基础的朋友,因此,本文将汇编翻译成相应的C语言,以方便读者分析问题转载 2012-02-03 10:06:17 · 675 阅读 · 0 评论 -
unix 汇编语言 GAS
.macrocommBeginthe definition of a macro called comm, which takes noarguments..macroplus1 p, p1.macroplus1 p p1Eitherstatement begins the definition of a macro called plus1,which takestwoarg转载 2012-02-02 20:33:06 · 1650 阅读 · 0 评论 -
ALD的安装
这个调试工具专门用来调试汇编语言的,想比gdb它有自己的优势,况且比较短小精悍,很好使用,安装方法并不复杂,看那个INSTALL就可以了,不过还有一些值得注意的地方,记下来:) 1 确保安装了libedit-dev包,这个调试工具需要得到readline的支持,虽然文档上说可以disable这个支持,但是我在编译的是后加上disable readline的选项,在make的时候转载 2012-02-03 10:03:18 · 2671 阅读 · 0 评论 -
GNU AS基本使用方法
一 GNU AS简介 GNU AS是GNU汇编器,主要用于把汇编代码转换成二进制代码,并存放到一个object文件中。GNUAS工具本身的使用方法比较简单,主要参考文档《Using as--the GNU Assembler》(2.14)。首先看一下1.1Structure of this Manual。 This manual is intended to des转载 2012-02-02 20:27:32 · 1730 阅读 · 0 评论 -
代码测试、调试与优化的小结
代码写完以后往往要做测试(或验证)、调试,可能还要优化。 关于测试(或验证),通常对应着两个英文单词verification和validation,在资料[1]中有关于这个的定义和一些深入的讨论,在资料[2]中,很多人给出了自己的看法。但是我想正如资料[2]提到的: “The differences between verification and validation are转载 2012-02-03 10:10:32 · 522 阅读 · 0 评论