C++全局变量构造函数的调用
来源:互联网 发布:java 异常处理机制5种 编辑:程序博客网 时间:2024/05/29 09:15
C++是不能在全局Scope里写表达式, 原来一直以为指令的执行都是在main函数里的. 但C++里可以调用类的构造函数对类初始化. 构造函数显然不能是在main函数里调用, 那在什么时候调用呢?
是在一段叫做init的代码段里.
Linux的ELF可执行文件格式分为若干段:
在可执行程序载入时, 在调用main函数之前, 会依次调用其他东西:
call __libc_init_firstcall _initcall atexitcall maincall _exit
而全局变量的初始化代码, 就是在init段里的.
另外, 在调用全局构造函数的时候, 还会顺便调用atexit把需要在结束时调用的全局析构函数安装上. 由于atexit允许安装多个函数(按安装的反序执行). 所以不会跟ELF载入时在main前面调用的那次atexit冲突.
0 0
- C++全局变量构造函数的调用
- 全局变量,继承,虚函数,构造函数和析构函数的调用过程
- [C++] 拷贝构造函数的调用
- 【C++&Java】构造函数的调用点
- 【c++】构造函数调用顺序的研究
- c++:(各种)构造函数的调用方式
- C/C++:调用函数来初始化全局变量
- jQuery的内部全局变量和构造函数
- 构造函数的调用
- 构造函数的调用
- 构造函数的调用
- 构造函数的调用
- 看C++中构造函数的调用顺序
- C++——构造函数的不同调用情况
- C++:构造函数中调用虚函数
- C++:构造函数中调用虚函数
- c++:在类的构造函数中调用另一个构造函数
- JS函数调用、修改全局变量的知识
- 微信发送消息
- java System.currentTimeMillis()陷阱
- 第四周作业
- android源码查看 android-support-v4.jar
- 关于javascript中alert单线程问题以及网页乱码问题之一
- C++全局变量构造函数的调用
- HDOJ 4763 Theme Section
- poj 3258 BinarySearch 最大化最小值
- 计科《算法设计与分析》第三周作业——冒泡排序和归并排序
- 同步Vmware中系统与主机的时间
- Eclipse反编译插件的安装
- 库函数qsort的实现
- jaxp dom 的 update/delete /save
- NET Framework 3.5 sp1离线安装方案