GNU/GCC链接脚本导学

学习前提:
   1)有winavr的使用经验
   2)有x86汇编基础(要求会的指令不多,有记忆即可,忘了的随时上网搜)

3. 我推荐的学习顺序:
   1)《程序的链接和装入及Linux下动态链接的实现》:http://www-128.ibm.com/developerworks/cn/linux/l-dynlink/
     如果你对编译和链接过程有一定了解,也有反编译库文件、目标文件的经验可以跳过这篇文章

   2)《GNU-ld链接脚本浅析》:http://blog.chinaunix.net/u/13991/showart_177822.html
     建议可以结合winavr的链接脚本来学习,在<winavr安装目录>/avr/lib/ldscripts下,后缀为“.x”的是对应不同架构avr使用的脚本
     也可以看winavr的默认脚本,在命令行下输入“avr-ld --verbose”即可看到。

   3)《Using ld The GNU linker ld version 2》:http://www.gnu.org/software/binutils/manual/ld-2.9.1/html_mono/ld.html
     这是官方的手册,参考。

   有兴趣还可以看看这篇《UNIX/LINUX 平台可执行文件格式分析》(http://www-128.ibm.com/developerworks/cn/linux/l-excutff/)

如果学过arm开发工具ads的网友大概知道“分散加载文件”,现在看来其实它就是一种链接脚本。对于存储地址分配各不相同的arm实现,这是很重要的文件。
我学习gnu的开发软件时间也不长,以上有不当之处,希望大家指出。
另外,感谢IBM、北航的这些文章。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值