当前位置: 首页 > news >正文

C 语言中的 end, _end 符号

使用 man 3 end 可以看到相关符号的解释

这些符号不是在 C 语言文件和头文件中定义的,它们是 ld 在链接所有 .o 文件的时候自己添加的。

end 和 _end 的地址,就是最终程序的堆的起始地址

要打印它们的话,一个样例程序在下面:

#include <stdio.h>
#include <stdlib.h>extern char etext, edata, end; /* The symbols must have some type,or "gcc -Wall" complains */extern char _end; int
main(int argc, char *argv[])
{printf("end = %c\n", end);printf("_end = %c\n", _end);printf("First address past:\n");printf("    program text (etext)       %10p\n", &etext);printf("    initialized data (edata)   %10p\n", &edata);printf("    uninitialized data (end)   %10p\n", &end);printf("    uninitialized data (_end)  %10p\n", &_end);exit(EXIT_SUCCESS);
}

我的机子上得到的日志如下:

end = 
_end = 
First address past:program text (etext)       0x5649be9f72d5initialized data (edata)   0x5649be9fa010uninitialized data (end)   0x5649be9fa018uninitialized data (_end)  0x5649be9fa018
http://www.lryc.cn/news/333331.html

相关文章:

  • 绿联 安装PDF工具
  • 备战蓝桥杯---数论相关问题
  • 苹果手表Apple Watch录了两个半小时的录音,却只能播放4秒,同步到手机也一样,还能修复好吗?
  • RGB三通道和灰度值的理解
  • ARM、X86、RISC-V三分天下
  • 力控机器人原理及力控制实现
  • 最小生成树
  • 二维动画制作软件 Animate 2024 for mac激活版
  • 相对论中关于光速不变理解的补充
  • 面试(04)————JavaWeb
  • Debian12 使用 nginx 与 php8.2 使用 Nextcloud
  • Java设计模式:代理模式的静态和动态之分(八)
  • 【论文通读】AgentStudio: A Toolkit for Building General Virtual Agents
  • wordvect嵌入和bert嵌入的区别
  • 渗透测试练习题解析 5(CTF web)
  • PCA(Principal Component Analysis,主成分分析)
  • 干货 | 探索CUTTag:从样本到文库,实验步步为营!
  • 提质不增本,降本不降质
  • 数据结构---顺序表实现
  • python docx 添加动态表格
  • git配置多SSH
  • IDEA连接SqlServer数据库
  • LeetCode 378 有序矩阵中第K小的元素
  • Vue3(domdiff)最长递归子序列求解简易版(超简单)
  • LLaMA-Factory+qwen多轮对话微调
  • 邦芒面试:如何在面试中巧妙回答自己的缺点
  • Android:身份证识别功能实现
  • MacOS安装Homebrew教程
  • laravel如何通过DB获取一条数据并转成数组
  • ENSP USG防火墙接入虚拟机;开启Web访问;