Encontrar la ruta del ejecutable actual sin / proc / self / exe
Me parece que Linux lo tiene fácil con / proc / self / exe. Pero me gustaría saber si hay una manera conveniente de encontrar el directorio de la aplicación actual en C / C ++ con interfaces multiplataforma. He visto algunos proyectos deambulando con argv [0], pero no parece del todo confiable.
Si alguna vez tuviste que apoyar, por ejemplo, Mac OS X, que no tiene / proc /, ¿qué habrías hecho? ¿Usa #ifdefs para aislar el código específico de la plataforma (por ejemplo, NSBundle)? ¿O tratar de deducir la ruta del ejecutable de argv [0], $ PATH y todo eso, arriesgarse a encontrar errores en los casos de borde?