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

免费金融发布网站模板代理公司注册收费

免费金融发布网站模板,代理公司注册收费,上海对外贸易公司,彩票系统网站建设#xff11;昨天有一个群里的同学问我#xff0c;他问我的问题是 c 语言函数是存在哪里的#xff1f;是如何执行的#xff1f;我下意识的觉得这位同学应该是个初学者#xff0c;所以今天就写下一些基础方面的内容#xff0c;「C语言的内存布局」。程序代码可以看做是一个… 昨天有一个群里的同学问我他问我的问题是 c 语言函数是存在哪里的是如何执行的我下意识的觉得这位同学应该是个初学者所以今天就写下一些基础方面的内容「C语言的内存布局」。程序代码可以看做是一个人是人就需要有房子住操作系统就是政府政府有义务给找个位置给你住如果你是高级人才他就给你个 vip 给你分个大房子但是如果你对社会没有帮助  手上没钱那你可能就需要住天桥下。我们刚开始学习单片机的时候还没有进程线程操作系统的概念程序直接下载到 rom 里面等你有了操作系统概念反过来看看会觉得以前自己写的代码都是单线程的。2C 语言内存分配的框图如下一个正常的执行代码 操作系统需要给他分配一段内存区域这一大块内存区域还要分为几个小区域。1.文本段Text segment2.初始化数据段Initialized data segment3.未初始化数据段Uninitialized data segment4.堆栈Stack5.堆 Heap31.文本段文本段也称为代码段是目标文件或内存中包含可执行指令的程序的一部分。作为存储区域文本段可以放置在堆或堆栈下方以防止堆和堆栈溢出覆盖它。通常文本段是可共享的因此对于频繁执行的程序例如文本编辑器C 编译器shell 等只需要一个副本就可以在内存中。此外文本段通常是只读的以防止程序意外修改其指令。文本段可以看做 这段代码 的 大脑需要怎么执行做什么都把数据保存在这个位置了。2.初始化数据段初始化数据段通常简称为数据段。数据段是程序的虚拟地址空间的一部分其包含由程序员初始化的全局变量和静态变量。请注意数据段不是只读的因为变量的值可以在运行时更改。该段可以进一步分类为初始化的只读区域和初始化的读写区域。例如C 中的 char s [] “hello world”定义的全局字符串和 int debug 1 之类的 C语句 将存储在初始化的读写区域中。像 const char * string “hello world”这样的全局 C语句 会把 字符串文字“hello world”存储在初始化的只读区域中而字符指针变量字符串存储在初始化的读写区域中。例如static int i  10 将存储在数据段中global int i  10 也将存储在数据段中3.未初始化的数据段未初始化的数据段通常称为“bss”段以古代汇编运算符命名代表“由符号启动的块”。此段中的数据在程序启动之前由内核初始化为算术 0 执行未初始化的数据从数据段的末尾开始包含初始化为零或在源代码中没有显式初始化的所有全局变量和静态变量。例如变量声明为static int i; 将包含在BSS部分中。例如一个声明为int j的全局变量; 将包含在BSS部分中。4.堆栈我们很多时候说的堆栈实际上就是栈 stack 跟堆 heap 是没有关系的。我们学习上经常说的 压栈说的就是压堆栈因为堆栈有 「先进后出的原则」所以我们操作的是栈尾。堆栈区域传统上与堆区域相邻并向相反方向增长; 当堆栈指针遇到堆指针时可用内存耗尽因为理论上这个两个家伙是不可能 相遇的 。使用现代大地址空间和虚拟内存技术它们几乎可以放置在任何地方但它们通常仍会朝着相反的方向发展。堆栈区域包含程序堆栈LIFO结构通常位于存储器的较高部分。在标准的PC x86计算机体系结构上它向零地址发展; 在其他一些架构上它朝着相反的方向发展。“堆栈指针”寄存器跟踪堆栈的顶部; 每次将值“推”到堆栈上时都会调整它。5.堆堆是通常发生动态内存分配的段。堆区域从BSS 段的末尾开始并从那里增长到更大的地址。堆区域由 mallocrealloc 和 free 管理可以使用 brk 和 sbrk 系统调用来调整其大小;它们也可以使用mmap实现将不连续的虚拟内存区域保留到进程的“虚拟地址空间”中。堆区域由进程中的所有共享库和动态加载的模块共享。4实用 size 命令可以分析生成的可执行程序每个段的大小单位是bytes 字节。我们可以用这个命令验证上面的论证。代码实例#includestdio.hint main(){    return 0;}Linuxdev:~/cStudy$ gcc memory-test.c -o memory-test  size memory-test   text    data     bss     dec     hex filename   1099     544       8    1651     673 memory-testLinuxdev:~/cStudy$ 现在代码里面什么都没有可以看到每个段内容的大小。#includestdio.hint g;int main(){    static int i;    return 0;}--------------------------------------------------Linuxdev:~/cStudy$ gcc memory-test.c -o memory-test  size memory-test   text    data     bss     dec     hex filename   1099     544      16    1659     67b memory-testLinuxdev:~/cStudy$ 我们声明了一个未初始化的全局变量和一个未初始化的静态变量后bss 段发生了变化。再修改一下#includestdio.hint g  99;int main(){    static int i  100;    return 0;}--------------------------------------------------Linuxdev:~/cStudy$ gcc memory-test.c -o memory-test  size memory-test   text    data     bss     dec     hex filename   1099     552      8     1659     67b memory-testLinuxdev:~/cStudy$ 初始化后 bss 段变成原来 8 了 data 段多了 8 个字节。再修改一下#includestdio.hint g ;int main(){    static int i  100;    return 0;}--------------------------------------------------Linuxdev:~/cStudy$ gcc memory-test.c -o memory-test  size memory-test   text    data     bss     dec     hex filename   1099     548      12     1659     67b memory-testLinuxdev:~/cStudy$ 这样 bss 段和 data 段都比初始值增加了 4 个字节。5推荐之前跟这个相关的文章也是写 内存 区域的东西两篇文章联系起来看会非常好。堆和栈的区别转过无数次的文章还是推荐一下我的知识星球加入星球的福利我会慢慢增加当然还是以自愿为主加入星球了同学希望还是在星球提问题这样的问答环境会更好也方便追溯问题。我的知识小密圈昨天大概看了一下文章的情况发现收藏的人数很多但是转发的人数很少各位大哥哥大帅哥能不能给小弟一点点活路稍微转发一下在知乎的时候就是收藏的数量远远超过点赞已经让我很伤心了。完各位共勉~
http://wiki.neutronadmin.com/news/63114/

相关文章:

  • 保定市建网站的公司长沙棋牌软件制作开发
  • 技术支持 沧州网站建设旅游网站的建设现状
  • wordpress的主题说明wordpress终极优化
  • 网站建设 的类型有哪些安装wordpress出现数据表不可以
  • 好网站欣赏怎样搭建电商平台
  • 外国网站怎么进入sem优化专员
  • 网站制作公司dedecms好看的论坛源码
  • 广东省示范校建设专题网站策划咨询
  • 做网站图片格式制作人小说
  • 中国最大的软件公司排名网站seo在线检测
  • 网站建设招标书组成可以上传视频的网站建设
  • 专门做金融培训的网站有哪些做js题目的网站
  • 介绍自己做的网站网站建设与运营的公司
  • 上海手机网站制作公司51网站空间相册
  • 公司商城网站开发费做什么科目海外推广代理商
  • 在线推广企业网站的方法是中国肩章军衔图解
  • 网站设计基础做个网站需要多少钱?有没有旧装修要拆
  • 长春一般建一个网站需要多少钱百度移动网站提交
  • 西宁专业做网站公司在线图片制作器
  • 深圳市国外网站建设服务机构wordpress国产主题推荐
  • 资讯网站源码用python做网页与html
  • 北京站asp网站如何虚拟发布
  • windows 网站开发网站备案名称怎么修改
  • 网站建设的可用性石家庄青园网站建设
  • 网站建设html模板如何免费发布个人网站
  • 新闻类网站html模板免费下载开发一个网站需要多少人
  • 微信网站地址青岛最新发生的新闻
  • 产品介绍网站html源码谷歌安装器
  • 网站开发 技术维护湖南省建设工程信息网站
  • 电商首页模板网站wordpress企业模板中文