Я создаю игровой движок C++ SDL, и важно знать путь к исполняемому файлу, поскольку изображения и другие ресурсы не хранятся в исполняемом файле — они находятся в отдельной папке ("res/").
В Linux я использую сценарий оболочки «rungame.sh», который переходит к пути к исполняемому файлу, а затем запускает исполняемый файл (используя затем «./» для ссылки на исполняемую папку). Однако я считаю, что это «уродливый» подход, и я хочу, чтобы он был совместим с Windows.
Кроме того, текущий подход не очень хорош, поскольку он может изменить значение некоторых аргументов командной строки.
Мне нужно кросс-платформенное (*NIX, Windows и Mac OS X, если возможно) решение для получения текущего пути к исполняемому файлу. Путь к игре/имя исполняемого файла может измениться.
Каков самый простой способ решить мою проблему (предпочтительно с использованием std::string и как можно меньшего количества API-интерфейсов, зависящих от платформы)?