版权声明:本文为博主原创文章,未经博主允许不得转载。首先指出一点,我们通常所说的编译器并非仅指编译器,确切来说是编译工具链,里面包括了预编译器、编译器、汇编器和连接器。对于外部函数实体(处于调用函数所在源文件之外的其他源文件中的函数),是在链接过程中,才会..
分类:
编程语言 时间:
2016-06-20 16:04:39
阅读次数:
276
摘自http://www.cnblogs.com/maomaohhmm/archive/2012/10/28/2743903.html 1.预处理器,编译器,汇编器和链接器 (1).预处理(cpp):预处理器不止一种,而C/C++的预处理器就是其中最低端的一种——词法预处理器,主要是进行文本替换、宏 ...
分类:
其他好文 时间:
2016-06-11 20:13:53
阅读次数:
370
嵌入式LinuxARM汇编(六)——GNUARM汇编编程不同的汇编器对汇编语言的语法要求不一样。目前常用的ARM汇编环境有以下两种:A、ARMASM:ARM公司的汇编器,适合在Windows平台下使用B、GNUARMASM:GNU交叉编译工具链中的汇编器,适合于Linux开发平台。GNU汇编器是GNU工具集的一部..
分类:
系统相关 时间:
2016-06-04 18:04:30
阅读次数:
311
ELF文件格式分析 基本知识: 1.ELF文件的三种类型: l 可重定位: 编译器和汇编器创建 运行前需要被链接器处理 l 可执行 完成了所有重定位工作和符号解析 除了运行时解析的共享库符号 l 共享库 链接器需要的符号信息 运行时可以直接执行的代码 2.ELF文件的两个视角: 3.可重定位目标文件 ...
分类:
其他好文 时间:
2016-06-02 13:25:19
阅读次数:
132
第10章
通过汇编语言了解程序的实际构成
热身问题
1.本地代码指令中,表示其功能的英文缩写称为什么?
助记符、汇编语言是通过利用助记符来记述程序的。
2.汇编语言的源代码转换成本地代码的方式称为什么?
汇编、使用汇编器这个工具来进行汇编。
3.本地代码转换成汇编语言的源代码的方式称为什么?
反汇编、通过返...
分类:
编程语言 时间:
2016-05-27 11:42:40
阅读次数:
189
一、基本概念
什么是库
在windows平台和linux平台下都大量存在着库。
本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。
由于windows和linux的平台不同(主要是编译器、汇编器和连接器的不同),因此二者库的二进制是不兼容的。
本文仅限于介绍linux下的库。库的种类
linux下的库有两种:静态库和共享库(动态库)。
二者的不同点在于代码被载入的时...
分类:
其他好文 时间:
2016-05-27 11:42:26
阅读次数:
195
前言 MDK-ARM意思就是基于ARM的微控制器开发工具(Microcontroller Developer Kit),由Keil公司开发,MDK-ARM包含了工业标准的Keil C编译器、宏汇编器、调试器、实时内核等组件。具有业行领先的ARM C/C++编译工具链,完美支持Cortex-M、Cor ...
分类:
其他好文 时间:
2016-05-25 22:28:11
阅读次数:
1383
手动编译 编译器问题,肯定是GNU的大名鼎鼎的GCC了,与此相关的什么连接器,汇编器也都包含在内了。 针对arm的GCC,当然就是arm-linux-gcc了,我所用的版本就是友善之臂光盘自带arm-linux-gcc 4.4.3。也有资料说也可以用arm-elf-gcc,这个与arm-linux- ...
分类:
其他好文 时间:
2016-05-25 11:07:18
阅读次数:
541
linux下汇编语言采用的是AT&T语法,可使用GNU工具,包括汇编器gas,连接器ld,编译器gcc,调试器gdb或kdbg,objdump的反汇编功能,简档器gprof。以简单的例子分别对每个工具在汇编语言开发中的用法进行简单说明。
这些工具都要在linux环境下使用,先建立linux的开发环境,可参考文章“windows7 64位系统安装VMware Centos 64位系统搭建开发环境”...
分类:
编程语言 时间:
2016-05-12 20:34:28
阅读次数:
323
程序达不到预期结果一般情况下先检查三个问题:
1. 是否是运行在ARM平台上, 用命令:file 目标文件名 查看
2. 查看大小端是否对 arm-linux-readelf查看
3. 查看程序用到的某些库是否对 使用命令:arm-linux-readelf -d 目标文件名 (可以查看目标文件在目标板上运行必须用到哪些库,如果开发板上没有该库,则肯定是运行不了的)
ARM反汇编器:在底层编程中是非常有用的!能查看汇编代码!(即如何将程序变成汇编版本)
命令方式:arm-linux-objdump -D ...
分类:
其他好文 时间:
2016-04-17 22:37:31
阅读次数:
230