Suche nach dem Pfad der aktuellen ausführbaren Datei ohne / proc / self / exe
Es scheint mir, dass Linux es mit / proc / self / exe leicht hat. Aber ich möchte wissen, ob es eine bequeme Möglichkeit gibt, das Verzeichnis der aktuellen Anwendung in C / C ++ mit plattformübergreifenden Schnittstellen zu finden. Ich habe einige Projekte gesehen, die mit argv [0] rumgespielt haben, aber es scheint nicht ganz zuverlässig zu sein.
Wenn Sie jemals Mac OS X unterstützen müssten, das / proc / nicht hat, was hätten Sie getan? Verwenden Sie #ifdefs, um den plattformspezifischen Code zu isolieren (z. B. NSBundle). Oder versuchen Sie, den Pfad der ausführbaren Datei aus argv [0], $ PATH und so weiter abzuleiten, und riskieren Sie dabei, Fehler in Randfällen zu finden?