代码之家  ›  专栏  ›  技术社区  ›  chappar

dll中的静态变量会进入进程的哪个段?

  •  0
  • chappar  · 技术社区  · 17 年前

    过程的结束。

    因此,如果我的进程使用dlopen或其他方式动态加载一个包含静态变量的库,这些静态变量将被加载到哪个段

    1 回复  |  直到 17 年前
        1
  •  2
  •   DigitalRoss    17 年前

    静态变量永远不会用代码初始化。如果它是一个可写段,它将被要求从磁盘分页到您的地址空间,在那里它将成为一个私有映射。如果它不可写,您可能只会链接到已加载的共享页面,但最终静态变量会在某个映像中初始化,并分页到RAM中。

    链接程序中的任何给定数据段通常都不能像堆栈或堆那样增长。