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

深圳网站推广百度宣传推广费用

深圳网站推广,百度宣传推广费用,可以访问的国外网站,房县建设局网站数据段: 1.全局变量 2.常量.rodata段 3.已初始化的静态数据(全局变量).data段 4.未初始化的静态数据(static修饰的局部变量).bss段 为什么需要静态数据? 全局变量 可以在任何文件,函数中使用,数据操作上更加方便。static修饰的局部变量&a…

数据段:

1.全局变量   
2.常量.rodata段
3.已初始化的静态数据(全局变量).data段
4.未初始化的静态数据(static修饰的局部变量).bss段

为什么需要静态数据?

  1. 全局变量 可以在任何文件,函数中使用,数据操作上更加方便。
  2. static修饰的局部变量,在函数中一直保存着,这可以使用static来保存某些重要的数据,使其运算后不消失,以便下次使用的时候。
注意:
  1. 静态数据只会被初始化一次;
  2. 如果静态数据未写初始化的值会默认为0;
  3. 静态数据的生命周期很长,会随着程序的结束才消失;
  4. 被static修饰的局部变量会从运行栈中移动到数据段;
  5. 被static修饰的全局变量变成仅有本文件可见静态数据;
  6. 被static修饰的函数由各文件可见,变成本文件可见的静态函数。

静态局部变量的问题:如果我定义一个全局变量a 然后我又在函数内定义一个局部变量a值,那么我会先使用哪一个a?

在编程中,如果全局变量和局部变量同名,那么在函数内部会优先使用局部变量。也就是说,你在函数内定义的局部变量 a 会遮蔽全局变量 a,函数内使用的将是局部变量 a。
  1. 全局变量:在函数外部定义的变量 a,作用域是全局的,可以在函数外部和内部访问。
  2. 局部变量:在函数内部定义的变量 a,作用域仅限于函数内部。
  3. 优先级:在函数内部,局部变量的优先级高于全局变量。如果函数内部定义了与全局变量同名的局部变量,那么在函数内部会使用局部变量,而不会使用全局变量。

代码段:

  1. 用户代码 .text
  2. 系统初始化代码 .init
程序员的代码,所有的静态数据以及代码编译完之后会在硬盘内放着,那些局部变量,形参,malloc()出来的堆内存,栈内存在我们的硬盘ELF可执行文件里面是没有,栈内存和堆内存都是存放在虚拟内存空间。而虚拟内存里面是数据段和代码段是对硬盘ELF可执行文件里面的数据段和代码段的复制。
也就是硬盘ELF里面的数据段和代码段直接复制到虚拟内存空间。
数据段和代码段都是在编译时编译完成时候就存在的。不是运行时就存在,在数据段和代码段这些内容编译完后,再运行到我们的虚拟内存.在时间上ELF可执行文件会比虚拟内存空间更早获得数据段和代码段。(ELF是一个二进制文件)
图片关系:

1. 程序员的代码和静态数据

  • 硬盘中的ELF可执行文件
程序员编写的代码和静态数据(如全局变量、静态变量等)在编译和链接后会生成一个ELF格式的可执行文件。这个文件存储在硬盘上。
  • 虚拟内存空间
当程序运行时,操作系统会将ELF可执行文件中的代码段和数据段加载到虚拟内存空间中。这些段在程序运行时被映射到虚拟地址空间中。

2. 局部变量、形参、堆内存和栈内存

  • 局部变量和形参
这些变量存储在栈内存中。栈内存是运行时动态分配的,用于存储函数调用时的局部变量和参数。栈内存的分配和释放是由编译器自动管理的。
  • 堆内存:
通过malloc()等函数分配的内存存储在堆中。堆内存是运行时动态分配的,需要程序员手动释放。
  • 栈内存和堆内存
这些内存区域是在程序运行时由操作系统分配的,而不是在编译时确定的。它们不在ELF可执行文件中,而是在程序运行时由操作系统管理。

3. 虚拟内存空间

  • 虚拟内存
虚拟内存是操作系统提供的一种内存管理机制,它将物理内存和磁盘空间结合起来,为每个进程提供一个独立的地址空间。
  • 数据段和代码段
ELF可执行文件中的数据段(.data、.bss等)和代码段(.text)在程序运行时被映射到虚拟内存空间中。这些段在编译时就已经确定,但在程序运行时才被加载到内存中。

4. 时间顺序

  • ELF可执行文件
在编译和链接阶段生成,存储在硬盘上。它包含程序的代码段和数据段。
  • 虚拟内存空间
在程序运行时由操作系统分配和管理。数据段和代码段从ELF文件中加载到虚拟内存空间中,而栈内存和堆内存则在运行时动态分配。

总结

  • ELF可执行文件
编译时生成,存储在硬盘上,包含代码段和数据段。
  • 虚拟内存空间
运行时分配,包含从ELF文件加载的代码段和数据段,以及运行时动态分配的栈内存和堆内存。
  • 栈内存和堆内存
运行时动态分配,不在ELF文件中。
可以说程序在运行的时候ELF提供数据段和代码段。
http://www.dtcms.com/wzjs/430392.html

相关文章:

  • 2在线做网站百度站长工具如何使用
  • 网站做优化效果怎样网站在线优化工具
  • 政府单位网站开发郑州seo技术培训班
  • 网站如何三合一seosem是指什么意思
  • 网站开发的软件有哪些关键字有哪些
  • 宝山网站建设公司北京seo公司助力网络营销
  • 音乐网站还可以做网站信息查询
  • 惠民县建设局网站推广方式有哪几种
  • 武汉关键词排名提升seo关键词智能排名
  • 网站建设与维护重庆网站推广专家
  • 济南做外贸的网站公司吗怎样在平台上发布信息推广
  • 新网站建设 英文翻译职业培训机构排名
  • 做传销网站的seo排名软件价格
  • 淘宝客网站开发定制网络营销的特点是什么?
  • 可以做任务挣钱的网站外贸seo网站推广
  • eclipse开发网站用vue做前端天眼查询个人
  • 网站模板代码怎么写sem是什么缩写
  • 如何建设网站兴田德润简介呢青岛网站制作
  • 西安制作网站公司哪家好如何在外贸平台推广
  • 专业建设专题网站谷歌浏览器下载手机版安卓
  • 西宁网站建设模板长尾词seo排名
  • 上海自适应网站制作百度指数是什么
  • 石家庄网站建设哪家好如何建立网上销售平台
  • 台州网站搜索引擎优化免费检测网站seo
  • php网站做ios如何在网上推广自己的公司
  • 广州网站优化运营竞价代运营公司哪家好
  • 网页的源代码的开始和结束标签必须是自己的网站怎么做seo
  • 深圳专业做网站技术今日新闻大事件
  • 锦阳商城网站网站排名优化教程
  • 国外网站拼邮需要怎么做公司网站怎么做