加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何在程序中获取_GLOBAL_OFFSET_TABLE_地址?

发布时间:2020-12-16 06:59:16 所属栏目:百科 来源:网络整理
导读:我想在我的程序中获取_GLOBAL_OFFSET_TABLE_的地址.一种方法是在 Linux中使用 nm命令,可能将输出重定向到文件并解析该文件以获取_GLOBAL_OFFSET_TABLE_的地址.但是,这种方法似乎效率很低.有哪些更有效的方法呢? 解决方法 这似乎有效: #include stdio.hexte
我想在我的程序中获取_GLOBAL_OFFSET_TABLE_的地址.一种方法是在 Linux中使用 nm命令,可能将输出重定向到文件并解析该文件以获取_GLOBAL_OFFSET_TABLE_的地址.但是,这种方法似乎效率很低.有哪些更有效的方法呢?

解决方法

这似乎有效:

#include <stdio.h>

extern void *_GLOBAL_OFFSET_TABLE_;

int main()
{
    printf("_GLOBAL_OFFSET_TABLE = %pn",&_GLOBAL_OFFSET_TABLE_);
    return 0;
}

它给:

$./test
_GLOBAL_OFFSET_TABLE = 0x6006d0

然而,nm认为不同:

$nm test | fgrep GLOBAL
0000000000600868 d _GLOBAL_OFFSET_TABLE_

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读