
二进制安全
文章平均质量分 88
连人
这个作者很懒,什么都没留下…
展开
-
三、GCC编译:链接
main.c func.c 静态链接 编译 在func.ELF-main.o和func.ELF-func.o这两个目标文件链接为一个可执行文件时,最简单的方法是按序叠加,即拼在一起(左图),但这种方法如果链接的目标文件过多,那么输出的可执行文件会十分零散。同时段的装载地址和空间以页为单位对齐,不足一页的代码节或数据节也要占用一页,造成内存空间的浪费。现在的链接器采用的是相似节合并的方法,首先对每个节的长度、属性和偏移进行分析,然后将两个文件中的相同节进行合并,然后将符合表合并,引用生成统一的全局符号表,最原创 2024-01-12 17:18:23 · 963 阅读 · 0 评论 -
二、ELF文件结构
编译和。原创 2024-01-09 10:56:08 · 1077 阅读 · 0 评论 -
一、GCC编译过程
编译过程可大致分为以下五个步骤(1):将源文件流拆分为以Token表示的字符表,给语法分析程序使用(2):根据各个词法单元的第一个分量构造语法树(3):根据符号表和语法树检测源程序(4):根据语义分析输出,生成机器语言的中间表示,如三地址码(5):把中间表示形式映射到目标机器语言。原创 2024-01-08 17:29:53 · 539 阅读 · 0 评论