最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

[学习过程记录]连接过程中的特殊符号

工作和技术 crifan 1810浏览 0评论

源文件:
/*
*   SpecialSymbol.c
*/

#include <stdio.h>

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

int main()
{
printf("Executable Start t: %pn", __executable_start);
printf("Text End tt: %p, %p, %pn", etext, _etext, __etext);
printf("Data End tt: %p, %pn", edata, _edata);
printf("Executable End tt: %p, %pn", end, _end);

return 0;
}

编译:
gcc specialSymbol.c -o specialSymbol

运行:
crifan@ubuntu904:specialSymbol$ ./specialSymbol
Executable Start     : 0x8048000
Text End         : 0x8048518, 0x8048518, 0x8048518
Data End         : 0x804a014, 0x804a014
Executable End         : 0x804a01c, 0x804a01c

这些特殊符号,可以在源文件里面直接引用。
这些特殊符号和ld连接脚本有关。

转载请注明:在路上 » [学习过程记录]连接过程中的特殊符号

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
79 queries in 0.159 seconds, using 22.13MB memory