关于全局变量的看法

晨曦之光 发布于 2012/08/22 15:39
阅读 1K+
收藏 0

【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”

        在网上,看到一个问题 “什么是全局变量?”说实话,这个问题我想了一会儿。觉得有二义性,可能大部分人会说,只要是在堆栈外面定义的 就是全局。 我觉得,全局这个概念,我想反问提问者,是线程全局?进程全局? 好吧,我今天想说说后者的。其实,在写hook的时候,大家都知道,进程需要共享dll中的全局变量。没错,就是它,我觉得被进程共享的 才叫全局。

 

#pragma comment (linker, "/SECTION:GlobalValue,RWS")

#include <iostream>

#pragma data_seg("GlobalValue")
int g_iCnt = 1000;
#pragma data_seg()

int PlusShow()
{
   return printf("PlusShow %d",++g_iCnt);
}

int Show()
{
  return printf("Show %d",g_iCnt);
}

int main(int argc)
{
  if(argc < 2)
  {
	  return Show();
  }
  
  PlusShow();
  getchar();
  return 0;
}


其实 不同段放的 不仅仅是变量。可以是函数 或者对象,非常灵活。看你自己怎么用了:)

 更多http://msdn.microsoft.com/en-us/library/thfhx4st(VS.80).aspx

命令行的操作 很菜鸟 别鄙视我 :)


原文链接: http://blog.csdn.net/template_cplus/article/details/7856831
加载中
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部