上一页 1 ··· 27 28 29 30 31
摘要: 静态链接中有一个专门的段叫符号表 -- “.symtab”(Symbol Table), 里面保存了所有关于该目标文件的符号的定义和引用。 动态链接中同样有一个段叫 动态符号表 -- “.dynsym”(Dynamic Symbol) , 但.dynsym 相对于 .symtab 只保存了与动态链接 阅读全文
posted @ 2018-04-27 18:40 明月照江江 阅读(5813) 评论(4) 推荐(1)
摘要: 动态链接文件中最重要的段就是 .dynamic段 这个段里保存了动态链接器需要的最基本的信息 比如:1. 依赖于哪些共享对象, d_tag = DT_NEED, d_ptr 表示共享对象文件名 2. 动态链接符号表的位置 d_tag = DT_SYMTAB, d_ptr 表示“.dynsym”的地址 阅读全文
posted @ 2018-04-27 18:26 明月照江江 阅读(2716) 评论(0) 推荐(1)
摘要: Linux 系统中,ELF动态链接文件被称为 动态共享对象(DSO,Dynamic Shared Object),简称共享对象 文件拓展名为“.so” 动态链接下 一个程序可以被分成若干个文件:程序的主要部分 - 可执行文件 和 程序所依赖的共享对象(一个或多个.so文件),它们都可称作为程序的模块 阅读全文
posted @ 2018-04-27 18:04 明月照江江 阅读(1898) 评论(0) 推荐(0)
摘要: PLT 全称:Procedure Linkage Table ,直译:过程连接表 由于在动态连接中,程序的模块之间包含了大量的函数引用,所以在程序开始执行前,动态链接会耗费较多的时间用于模块之间函数引用的符号查找以及重定位工作。 但是在程序实际运行时很多函数其实时没有调用到的,这里就时一个优化的点, 阅读全文
posted @ 2018-04-27 16:40 明月照江江 阅读(600) 评论(0) 推荐(0)
摘要: 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 示例 2: 阅读全文
posted @ 2018-04-25 15:38 明月照江江 阅读(1165) 评论(0) 推荐(0)
摘要: 自己解法,欢迎拍砖 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7], 返回它的最大深度 3 。 解法: 阅读全文
posted @ 2018-04-25 15:33 明月照江江 阅读(183) 评论(0) 推荐(0)
上一页 1 ··· 27 28 29 30 31