摘要: 基于RISC-V的编译链接和装载18之库与运行环境 目录基于RISC-V的编译链接和装载18之库与运行环境1 ELF执行的流程2 CRT 库(C Runtime库)3 C库(C Standard Library) ELF 装载完成后,并不会直接跳转到 main 函数执行,中间还需经历一系列初始化步骤 阅读全文
posted @ 2026-10-24 16:42 sureZ_ok 阅读(17) 评论(0) 推荐(0)
摘要: 基于RISC-V的编译链接和装载17之linker overlay 目录基于RISC-V的编译链接和装载17之linker overlay1 linker overlay 简单介绍1.1 为什么嵌入式 MCU需要 Overlay?1.2 Overlay 的关键机制:VMA vs LMA1.3 两种 阅读全文
posted @ 2026-10-24 16:42 sureZ_ok 阅读(7) 评论(0) 推荐(0)
摘要: 基于RISC-V的编译链接和装载16之链接器松弛 目录基于RISC-V的编译链接和装载16之链接器松弛1 RISC-V的链接松弛2 RISC-V链接松弛举例2.1 函数调用松弛2.2 gp松弛(符号地址访问松弛其中的一种情况)3 链接器松弛的步骤4 启用链接器松弛4.1 启用/禁用松弛4.2 gp寄 阅读全文
posted @ 2026-10-24 16:41 sureZ_ok 阅读(11) 评论(0) 推荐(0)
摘要: 基于RISC-V的编译链接和装载15之链接器的垃圾回收 目录基于RISC-V的编译链接和装载15之链接器的垃圾回收1. 为什么需要垃圾回收?2. GCC垃圾回收的基本原理2.1 编译阶段:生成独立段(-ffunction-sections -fdata-sections)2.2 链接阶段:执行垃圾回 阅读全文
posted @ 2026-10-24 16:41 sureZ_ok 阅读(13) 评论(0) 推荐(0)
摘要: 基于RISC-V的编译链接和装载14之链接时的map文件 目录基于RISC-V的编译链接和装载14之链接时的map文件1 编译时怎么生成map文件?2 map文件有什么用?2.1 代码体积膨胀2.2 查看调用了库中的哪个函数2.3 用 .map 文件定位 “函数未定义” 问题2.3 分析内存布局与段 阅读全文
posted @ 2026-10-24 16:41 sureZ_ok 阅读(12) 评论(0) 推荐(0)
摘要: 基于RISC-V的编译链接和装载13之ld链接脚本 之前我写了一篇 《gcc之ld链接脚本》,但是觉得没有写好,有些知识点没有讲完整,所以准备重新写一下链接脚本。 目录基于RISC-V的编译链接和装载13之ld链接脚本1 链接脚本示例2 链接脚本的作用2.1 链接配置2.2 内存分区2.3 地址映射 阅读全文
posted @ 2026-10-24 16:41 sureZ_ok 阅读(13) 评论(0) 推荐(0)
摘要: 基于RISC-V的编译链接和装载12之动态ELF装载 目录基于RISC-V的编译链接和装载12之动态ELF装载1 Linux环境装载ELF的整体流程1.1 第1阶段:fork() 创建子进程1.2 第2阶段:子进程调用 execve() 装载 hello 程序1.3 第3阶段:hello 程序实际运 阅读全文
posted @ 2026-10-24 16:40 sureZ_ok 阅读(15) 评论(0) 推荐(0)
摘要: 基于RISC-V的编译链接和装载11之动态链接3 前面几章讲了动态链接过程,但感觉太零碎了,不易理解。这一章用一个实际例子把这些知识点串起来。 目录基于RISC-V的编译链接和装载11之动态链接31 一个动态链接的例子1.1 源码及编译1.2 例子涉及的三种访问2 动态链接的关键2.1 跨模块函数调 阅读全文
posted @ 2026-10-24 16:40 sureZ_ok 阅读(12) 评论(0) 推荐(0)
摘要: 基于RISC-V的编译链接和装载10之动态链接2 目录基于RISC-V的编译链接和装载10之动态链接21 引入GOT表2 为什么要引入PLT表?3 动态链接的详细流程(引入PLT表后)3.1 动态链接详细流程示例3.2 .PLT表与.GOT.PLT 表的对应关系3.3 符号解析的过程3.4 动态链接 阅读全文
posted @ 2026-10-24 16:39 sureZ_ok 阅读(15) 评论(0) 推荐(0)
摘要: 基于RISC-V的编译链接和装载09之动态链接1 目录基于RISC-V的编译链接和装载09之动态链接11 为什么要使用动态链接?2 动态链接的实现2.1 动态链接过程:链接时->加载时->运行时2.2 动态链接遇到的问题以及解决方案2.3 引入GOT表2.4 引入GOT后的简单工作流程 1 为什么要 阅读全文
posted @ 2026-10-24 16:39 sureZ_ok 阅读(8) 评论(0) 推荐(0)