Encontrando o caminho do executável atual sem / proc / self / exe

Parece-me que o Linux é fácil com / proc / self / exe. Mas gostaria de saber se existe uma maneira conveniente de encontrar o diretório do aplicativo atual em C / C ++ com interfaces entre plataformas. Eu vi alguns projetos mexendo com argv [0], mas isso não parece totalmente confiável.

Se você já teve que suportar, digamos, o Mac OS X, que não tem / proc /, o que você teria feito? Use #ifdefs para isolar o código específico da plataforma (NSBundle, por exemplo)? Ou tente deduzir o caminho do executável de argv [0], $ PATH e outros, arriscando encontrar bugs nos casos de borda?

questionAnswers(12)

yourAnswerToTheQuestion