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

微信公众号app下载安装网站优化推广教程

微信公众号app下载安装,网站优化推广教程,怎么做区块链媒体网站,建设大型网站怎样赢利最近还遇到一个例子是关于:从C转C开发需要注意的一个意识问题。本人遇到的这个问题是,带着C的意识来看C的代码,然后根据代码看,有一个全局变量的值在main函数进入之后才会更改,所以百思不得其解,这个变量怎…

最近还遇到一个例子是关于:从C转C++开发需要注意的一个意识问题。本人遇到的这个问题是,带着C的意识来看C++的代码,然后根据代码看,有一个全局变量的值在main函数进入之后才会更改,所以百思不得其解,这个变量怎么在main函数之前发生了改变?

这里的一个区别是,C++里全局变量的构造函数是先于main函数执行。当然在C的环境下也可以注册先于main函数执行的代码,这个有名的例子就是qemu/vpp的实现,里面有很多全局对象,最终会标记一个编译属性:
attribute((constructor));根据gcc文档里这个属性的作用:
The constructor attribute causes the function to be called automatically before execution enters main (). Similarly, the destructor attribute causes the function to be called automatically after main () completes or exit () is called. Functions with these attributes are useful for initializing data that is used implicitly
during the execution of the program.
那究竟是怎么实现的呢?这个可用通过查看一个qemu的调用栈,来看其中的流程:

(gdb) bt
#0 0x0000555555c5f6b0 in qemu_thread_create ()
#1 0x0000555555c67f69 in ?? ()
#2 0x0000555555c9a88d in __libc_csu_init ()
#3 0x00007ffff4874d18 in __libc_start_main () from /lib64/libc.so.6
#4 0x00005555558a859e in _start ()

binfmt_elf.c
/* Get the exec-header */
loc->elf_ex = *((struct elfhdr *)bprm->buf);

[root@vmtca-2003 ~]# readelf -e abc.elf
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2’s complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Version: 0x1
Entry point address: 0x3afe0

nm abc.elf | grep 3afe0

000000003afe0 T _start

这样就能捋顺了,是Linux内核的系统调用execve系列在加载二进制文件的时候,根据二进制接口读取了文件的exe头部,这个头部里含有程序入口点。这个入口点是_start函数。接下来_start会做main函数之前的一些初始化的工作,包含全局变量的构造函数的调用。
这就可以根据glibc里的代码查看具体是怎么实现的这个方式。
在这里插入图片描述

http://www.yidumall.com/news/4584.html

相关文章:

  • 广州力科网站建设公司保定seo排名外包
  • 网站建设设计方案网页制作接单
  • 做彩铃的网站代运营
  • 怎么给网站做跳转北京seo优化排名推广
  • 怎么找网站搜狗搜图
  • 南京设计网站建设如何做网站设计
  • 网站建设的策划方案站长工具站长
  • 南宁网站建设设计看广告赚钱的平台
  • 网页设计与网站建设微信小程序建站
  • 郑州快速建站公司软文推广文案
  • 网站推广套餐app下载免费安装
  • 网站专题制作 公司淘宝网站的推广与优化
  • 网站建设设计案例网站logo实验报告公司宣传网页怎么做
  • 北京装饰公司名称seo秘籍优化课程
  • 农业建设公司网站百度怎么收录网站
  • 上海做网站公司推广方法有哪几种
  • 久其软件公司网站快速排名点击工具
  • 做网站不搭建本地环境分类信息网
  • 个人做网站要注意什么如何做电商
  • 怎样搭建免费网站关键词seo深圳
  • 官方网站下载拼多多app网站设计公司苏州
  • 建立网站项目百度的合作网站有哪些
  • 做网站收益世界杯排名
  • 吃的网站要怎么做的网站设计规划
  • 部门网站建设怎么做seo是什么意思中文
  • 毕业设计代做网站都有哪些网站推广优化怎么做最好
  • 聊城门户网站如何在百度上建立网站
  • 成都网站设计制作工作室国际军事新闻最新消息视频
  • 制作灯笼的视频成都优化网站哪家公司好
  • solusvm做网站网站开发软件