ld 链接相关知识

网友投稿 818 2022-10-27 14:35:00

ld 链接相关知识

1 .bss 不保存在 bin文件 bin文件 bin文件 bin文件 bin文件(重要的事情说四遍) 2 arm-linux-ld -Ttext 0 -Tdata 0x800 好像也可以设置 -Tbss 那么生成文件烧录到jz2440 text地址为0 data地址为0x800 (因为jz2440 不管是nor启动还是nand启动都是从0开始执行的) -Ttext -Tdata 是确定 text 跟 data 的烧录地址的。

3 . = ALIGN(4); 指示编译器将接下来的代码进行4字节对齐编译,也就是在分配地址时,以4的整数倍分配。

为啥需要. = ALIGN(4) 这个东西呢?存储空间读写以四个字节为单位,比较快。可能 某段数据不是 四字节结束,那么下一段数据不能一四字节开始,那么可能会影响到数据所以前面 每段数据前面都加一个 . = ALIGN(4);比如这样

{ . = 0x30000000; . = ALIGN(4); .text : { *(.text) } . = ALIGN(4); .rodata : { *(.rodata) } . = ALIGN(4); .data : { *(.data) } . = ALIGN(4); __bss_start = .; .bss : { *(.bss) *(.COMMON) } _end = .;}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:vs code 实用技巧
下一篇:数字化办公需求激增,企业OA系统该如何升级?(存在已发布相同标题的内容)
相关文章