Мне кажется, что Linux легко справляется с /proc/self/exe. Но я хотел бы знать, есть ли удобный способ найти текущий каталог приложений в C/С++ с кросс-платформенными интерфейсами. Я видел некоторые проекты, сбрасывающие с argv [0], но это не кажется полностью надежным.
Если вам когда-либо приходилось поддерживать, скажем, Mac OS X, у которой нет /proc/, что бы вы сделали? Использовать #ifdefs для выделения кода для конкретной платформы (например, NSBundle)? Или попытайтесь вывести исполняемый путь из argv [0], $PATH и еще чего, рискуя найти ошибки в крайних случаях?