http://www.csdn.net/expert/Topic/278/278912.shtm

解决方案 »

  1.   

    //////////////
    //a.cpp:
    //////////////
    #include <windows.h>
    ...
    int myGlobalVar;int SomeFunction()
    {
     myGlobalVar = 1; 
    }
    ////////////
    //b.cpp:
    ///////////
    extern int myGlobalVar;
    int anyfunction()
    {
      myGlobalVar++;
    }如果你定义的全局变量较多,
    也可生成一个包含文件:

    ////////////
    // myvar.h
    /////////////
    extern int myGlobalVar;////////////
    //c.cpp:
    ///////////
    #include "myvar.h"
    int testfunction()
    {
      myGlobalVar--;
    }
      

  2.   

    在 theApp后定义。(其实在哪定义都行,只要在程序体外面即可)
    其它文件使用时,用extern;
    CXxxApp theApp;
    int iGlobals;
    extern int iGlobals;
      

  3.   

    定义全局变量:
    在某个.cpp中定义,如:int gvar; 如果在其他.cpp中要用,则:extern int gvar;定义CWinApp变量:
    在CMyApp类中定义,如:int avar; 在其他.cpp中,AfxGetApp()->avar 来用它。
      

  4.   

    在任意一个程序体外面都可以。在调用时声明extern就可以了。不过这种东西少用为好
      

  5.   

    一般在cpp中定义比较好,不过数量较多的话,就象hsharper(Wind)那样,建一个.h文件。
    楼上说的都对,尽量少用全局变量。