很多游戏不需要借助注册表或者文件,一个exe执行之后,得分就保存在exe里面。拷贝到另一台机器,这个exe的得分表还在。网上说设置PE文件的数据段为共享,可以实现运行时的变量共享,向下面这样:#pragma data_seg("shared")//声明了名为“shared”的节
volatile long g_num=0;//将全局变量g_num放入节中
#pragma data_seg()//关闭
#pragma comment(linker,"/Section:shared,RWS")//告诉连接器给节加上SHARE属性
int main()
{
  g_num++;
  printf("%d",g_num);
  int wait;
  scanf("%d",wait);
  return 0;
}
编译这个程序,当你第一遍运行这个程序时显示1,第二遍显示2,依次类推。但是问题是,必须保持至少一个程序在系统中运行,这个g_num才会不断的增加。
如果我把所有程序都关闭了,或者重启机器,那么下次运行这个程序,g_num还是从1开始增加,因为这个增加是在内存中进行的,可执行文件数据段中的g_num似乎还是0,并没有改变啊。
-----------------------------------------------------
如果在程序结束的时候,修改exe文件当中的这个g_num呢?
谢谢......