zoukankan      html  css  js  c++  java
  • 1、在main执行之前和之后执行的代码可能是什么?

    1、在main执行之前和之后执行的代码可能是什么?

    main函数执行之前,主要就是初始化系统相关资源:

      设置栈指针

      初始化静态 static 变量和 global 全局变量,即 .data 段的内容

      将未初始化部分的全局变量赋初值:数值型 short , int , long 等为 0 , bool 为 FALSE ,指针 为 NULL 等等,即 .bss 段的内容

      全局对象初始化,在 main 之前调用构造函数,这是可能会执行前的一些代码

      将main函数的参数 argc , argv 等传递给 main 函数,然后才真正运行 main 函数  

      __attribute__((constructor))

    main函数执行之后:

      全局对象的析构函数会在main函数之后执行;

      可以用 atexit 注册一个函数,它会在main 之后执行;

      __attribute__((destructor)

  • 相关阅读:
    维护win10注册表
    win10操作技巧
    无处不网络
    事件驱动编程思想
    流程控制之if...else
    python----GIL的概念
    并发与同步异步的概念
    实现并发join的方法
    线程的调用
    三元运算符
  • 原文地址:https://www.cnblogs.com/crbhf/p/14861069.html
Copyright © 2011-2022 走看看