Äúµ±Ç°µÄλÖãºÊ×Ò³ > IT±à³Ì > C++
| CÓïÑÔ | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | ѧÊõÓë´úÂë | cnn¾í»ýÉñ¾­ÍøÂç | gnn | ͼÏñÐÞ¸´ | Keras | Êý¾Ý¼¯ | Neo4j | ×ÔÈ»ÓïÑÔ´¦Àí | Éî¶Èѧϰ | ҽѧCAD | ҽѧӰÏñ | ³¬²ÎÊý | pointnet | pytorch | Òì³£¼ì²â | Transformers | Çé¸Ð·ÖÀà | ֪ʶͼÆ× |

×Ôѧ½Ì³Ì£ºC++ GetExePathº¯Êý´úÂëʾÀý

51×ÔÑ§Íø 2021-06-01 21:07:33
  C++
ÕâÆª½Ì³ÌC++ GetExePathº¯Êý´úÂëʾÀýдµÃºÜʵÓã¬Ï£ÍûÄܰﵽÄú¡£

±¾ÎÄÕûÀí»ã×ÜÁËC++ÖÐGetExePathº¯ÊýµÄµäÐÍÓ÷¨´úÂëʾÀý¡£Èç¹ûÄúÕý¿àÓÚÒÔÏÂÎÊÌ⣺C++ GetExePathº¯ÊýµÄ¾ßÌåÓ÷¨£¿C++ GetExePathÔõôÓã¿C++ GetExePathʹÓõÄÀý×Ó£¿ÄÇô¹§Ï²Äú, ÕâÀᆱѡµÄº¯Êý´úÂëʾÀý»òÐí¿ÉÒÔΪÄúÌṩ°ïÖú¡£

ÔÚÏÂÎÄÖÐÒ»¹²Õ¹Ê¾ÁËGetExePathº¯ÊýµÄ30¸ö´úÂëʾÀý£¬ÕâЩÀý×ÓĬÈϸù¾ÝÊÜ»¶Ó­³Ì¶ÈÅÅÐò¡£Äú¿ÉÒÔΪϲ»¶»òÕ߸оõÓÐÓõĴúÂëµãÔÞ£¬ÄúµÄÆÀ¼Û½«ÓÐÖúÓÚÎÒÃǵÄÏµÍ³ÍÆ¼ö³ö¸ü°ôµÄC++´úÂëʾÀý¡£

ʾÀý1: GenerateExe

	void GenerateExe()	{		std::wstring apk = GetExePath() + L"//dependency//Android//Local//install.apk";		DeleteFileW(apk.c_str());		GenerateApk(apk);		// µ÷Óà packet.exe£¬Éú³É exe		WCHAR wzCmdline[1024] = {0};		wsprintf(wzCmdline, L"%s//dependency//Android//Local//packet.exe /"%s/" %s", 			GetExePath().c_str(), GetPath().c_str(),			m_rooted ? L"root" : L"unroot");		STARTUPINFO si;		PROCESS_INFORMATION pi;		ZeroMemory( &si, sizeof(si) );		si.cb = sizeof(si);		ZeroMemory( &pi, sizeof(pi) );		si.dwFlags = STARTF_USESHOWWINDOW;		si.wShowWindow = SW_HIDE;		CreateProcess(NULL, wzCmdline, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);		WaitForSingleObject( pi.hProcess, INFINITE );		CloseHandle( pi.hProcess );		CloseHandle( pi.hThread );	}
¿ª·¢ÕßID:yzx65£¬ÏîÄ¿Ãû³Æ:GenerateFrontEnd£¬´úÂëÐÐÊý:30£¬


ʾÀý2: GetExePath

void ConfigDir::_SetupSitePath(){#ifdef __WXMSW__  m_sSitePath = GetExePath();  nwxFileUtil::EndWithSeparator(&m_sSitePath);  m_sSitePath.Append("site");#endif#ifdef __WXMAC__  wxString sEXE = GetExePath();  const wxChar *psLib = wxS("/Library/Application Support");  const wxChar *psSubDir = wxS("/Osiris-Files");  if( sEXE.StartsWith(wxS("/Applications/")) &&      wxDir::Exists(psLib) )  {    m_sSitePath = psLib;    m_sSitePath.Append(psSubDir);  }  else  {    wxString sUp3 = GetExePath();    nwxFileUtil::UpDir(&sUp3,3);    nwxFileUtil::NoEndWithSeparator(&sUp3);    sUp3.Append(psSubDir);    m_sSitePath = sUp3;  }#endif}
¿ª·¢ÕßID:HelloWilliam£¬ÏîÄ¿Ãû³Æ:osiris£¬´úÂëÐÐÊý:29£¬


ʾÀý3: main

int main(int argc, char **argv) {    try {        std::string memMaxArg = std::string();        char * varMemMax = getenv("NEXTFRACTAL_MAX_MEMORY");        int varMemMaxLen = varMemMax != NULL ? strlen(varMemMax) : 0;        if (varMemMaxLen > 0) {            memMaxArg.append("-Xmx");            memMaxArg.append(std::to_string(std::stoi(varMemMax)));            memMaxArg.append("m");        } else {            memMaxArg.append("-Xmx3g");        }        std::string basePath = GetBasePath(GetExePath());        std::cout << "Base path " << basePath << std::endl;        std::string jarsPath = basePath + "/../Resources";        std::string classpathArg = "-Djava.class.path=" + GetClasspath(jarsPath);        std::string libPathArg = "-Djava.library.path=" + basePath + "/../Resources";        std::string locPathArg = "-Dbrowser.location=" + basePath + "/../../../examples";        const char *vm_arglist[] = {            "-Djava.util.logging.config.class=com.nextbreakpoint.nextfractal.runtime.LogConfig",            classpathArg.c_str(),            libPathArg.c_str(),            locPathArg.c_str(),            memMaxArg.c_str(),            0        };        struct start_args args(vm_arglist, "com/nextbreakpoint/nextfractal/runtime/javafx/NextFractalApp");        pthread_t thr;        pthread_create(&thr, NULL, start_java, &args);        CFRunLoopRun();    } catch (const std::runtime_error& e) {        ShowAlert("Did you install Java JDK 8 or later?", e);    }}
¿ª·¢ÕßID:adriens£¬ÏîÄ¿Ãû³Æ:nextfractal£¬´úÂëÐÐÊý:34£¬


ʾÀý4: ReloadAllTexture

namespace kvarco{//¤É¤¦¤»Ëû¤«¤éºô¤Ð¤Ê¤¤¤Î¤Ç¤³¤Î
C++ GetExitCodeThreadº¯Êý´úÂëʾÀý
C++ GetExceptionMessageº¯Êý´úÂëʾÀý
ÍòÊÂOK×ÔÑ§Íø£º51×ÔÑ§Íø_Èí¼þ×ÔÑ§Íø_CAD×ÔÑ§Íø×Ôѧexcel¡¢×ÔѧPS¡¢×ÔѧCAD¡¢×ÔѧCÓïÑÔ¡¢×Ôѧcss3ʵÀý£¬ÊÇÒ»¸öͨ¹ýÍøÂç×ÔÖ÷ѧϰ¹¤×÷¼¼ÄܵÄ×Ôѧƽ̨£¬ÍøÓÑϲ»¶µÄÈí¼þ×ÔÑ§ÍøÕ¾¡£