wxStandardPaths().GetDataDir()

wxStandardPaths().GetDataDir()

wxStandardPaths().GetDataDir()

这个函数可以用来非常方便的取得exe的位置。(Manual)

可是用vc编译的debug版却没有包含最后的debug目录。
很是疑惑啊!
以为vc添加了什么神奇的东西。
看了
wxStandardPaths::GetDataDir() 的源代码,
1  wxString wxStandardPaths::GetDataDir()  const
2  {
3      //  under Windows each program is usually installed in its own directory and
4      //  so its datafiles are in the same directory as its main executable
5      return  GetAppDir();
6  }

 1  wxString wxStandardPaths::GetAppDir()
 2  {
 3     wxFileName fn(wxGetFullModuleName());
 4 
 5      //  allow running the apps directly from build directory in debug builds
 6  #ifdef __WXDEBUG__
 7     wxString lastdir;
 8      if  ( fn.GetDirCount() )
 9     {
10        lastdir  =  fn.GetDirs().Last();
11        lastdir.MakeLower();
12         if  ( lastdir.Matches(_T( " debug* " ))  ||  lastdir.Matches(_T( " vc_msw* " )) )
13        fn.RemoveLastDir();
14     }
15  }
16 

你可能感兴趣的:(wxStandardPaths().GetDataDir())