bfd对elf32格式的支持
来源:互联网 发布:c语言课程coursera 编辑:程序博客网 时间:2024/06/08 17:53
快乐虾
http://blog.csdn.net/lights_joy/
lights@hb165.com
本文适用于
bfinutils-2.19
vs2008
欢迎转载,但请保留作者信息
在《bfd对多目标的支持》这篇文章中说道,所有的目标支持都是通过重定义bfd_target这个结构体的函数指针来实现的。Elf32是一种常见的文件格式,只是由于不同处理器和目标系统的差异,这些文件的格式略有不同。为了最大限度地重用代码,bfd让所有的elf32格式的文件处理器(*_vec变量)定义共用一个文件:elf32-target.h。这个文件中有如下定义:
const bfd_target TARGET_LITTLE_SYM =
{
/* name: identify kind of target */
TARGET_LITTLE_NAME,
/* flavour: general indication about file */
bfd_target_elf_flavour,
/* byteorder: data is little endian */
BFD_ENDIAN_LITTLE,
/* header_byteorder: header is also little endian */
BFD_ENDIAN_LITTLE,
………………………………….
/* backend_data: */
&elf32_bed
};
这个头文件仅供bfd库内部使用,在C文件中使用
#include "elf32-target.h"
之前,bfd会先定义一些宏,比如:
#define TARGET_LITTLE_SYM bfd_elf32_bfin_vec
#define TARGET_LITTLE_NAME "elf32-bfin"
#define ELF_ARCH bfd_arch_bfin
#define ELF_MACHINE_CODE EM_BLACKFIN
#define ELF_MAXPAGESIZE 0x1000
#define elf_symbol_leading_char '_'
………………………
这样,经过宏替换,就可以使用不同的目标有不同的处理方式。
在bfd代码中搜一下“elf32-target.h”,很容易就可以发现所有elf32格式的目标了,呵呵!
参考资料
bfd对多目标的支持(
- bfd对elf32格式的支持
- bfd对多目标的支持
- Bfd对elf文件头的处理
- 新增对PNG格式图片的支持
- android 对GIF动画格式的支持
- 各种浏览器对mp4格式的支持
- php5.2 对json格式的支持
- SpringMVC对RESTful格式的url支持
- bfd的文件格式识别
- bfd
- BFD
- J2ME对PNG格式的支持很诡异--不校检CRC?
- Android系统多媒体框架添加对.wma格式的支持
- Android系统多媒体框架添加对.wma格式的支持
- 旧版本uboot对ext4文件系统格式的支持
- 阅读类网站增加对epub格式的支持
- MiniDLNA 1.1.4 添加对rmvb格式的支持
- spring mvc 对返回json格式数据的支持
- Linux使用技巧
- 四线触摸屏原理(网上收集的)
- winform皮肤使用 winform皮肤下载
- 在线互联网地图API资源 Web地图API 网上地图插件
- Socket错误码及原因 (合集)
- bfd对elf32格式的支持
- c#中对系统服务的操作
- Windows Sockets 规范及应用14
- backtrace 函数的使用
- 最新ajax特效30则
- 优秀程序员应当具备的品质:
- C#中选择文件夹窗口对应的类
- 谷歌手机地图升级
- 汇编语言学习四