美文网首页
ld链接器添加的符号

ld链接器添加的符号

作者: 写个代码容易么 | 来源:发表于2020-03-28 11:40 被阅读0次

链接器在链接时会在程序中插入一些特殊的符号

__executable_start 程序起始地址
__etext 代码段结束地址
_edata 数据段结束地址
_end 程序结束地址

通过以下代码可以输出该地址

#include <stdio.h>

extern char __executable_start[];
extern char etext[],_etext[],__etext[];
extern char edata[],_edata[];
extern char end[],_end[];

int main(){
    printf("程序起始地址:%X\n", __executable_start);
    printf("代码段结束地址:%X\n",etext);
    printf("数据段结束地址:%X\n",_edata);
    printf("程序结束地址:%X\n",_end);
}

相关文章

  • ld链接器添加的符号

    链接器在链接时会在程序中插入一些特殊的符号 __executable_start 程序起始地址__etext 代...

  • 2017-06-20

    c编译过程先生成二进制文件 .o文件 gcc -c。里面调用的函数是一个符号。 链接器之后才真正链接。$ ld -...

  • 程序员自我修养4-静态链接

    使用ld链接器将“a.o”和"b.o"链接起来: ld a.o b.o -e main -o ab-e main ...

  • ld

    ld-linux.so.2是链接器(linker)(ld)的运行时组件, 它定位应用程序使用的动态库并将其加载到内...

  • 链接

    链接 静态链接 符号解析 将每个符号引用刚好和一个符号定义联系在一起。 重定位 编译器和汇编器生成从地址0开始的代...

  • sqlserver外链数据库

    --添加链接服务器

  • WinDbg伪寄存器语法

    WinDbg支持自动伪寄存器和用户定义伪寄存器。所有的伪寄存器都是使用美元符号开始(添加一个@符号。这个@符号告诉...

  • 使用 GDB 进行调试

    实例 demo.s 编译链接 汇编器编译as demo.s -32 -gstabs ld ./a.out demo...

  • Android ELF文件got表符号偏移的确定

    众所周知Android的动态链接器是linker,iOS是dyld,linux是ld-linux.so.2。由于同...

  • 链接器都做了什么

    简单说,链接器就是把符号表绑定到地址。本文是对戴铭专栏中“链接器:符号是怎么绑定到地址上的”的小结。 1 编译型语...

网友评论

      本文标题:ld链接器添加的符号

      本文链接:https://www.haomeiwen.com/subject/rlujuhtx.html