Я не могу говорить с окнами.Однако в UNIX довольно много времени это возможно, но это не гарантировано.Причины этого включают в себя вызовы exec из других программ, таких как shell, которые в некоторых случаях могут помутать, где находится исполняемый файл, например, относительный путь, например "../../../mybin/exe/myprogram"Переменная PATH также делает интересным отслеживание исполняемого файла.
Позвольте мне спросить: что вы пытаетесь сделать, или, вернее, зачем вам знать?ИМО тебе не нужно знать.Вы можете проверить getcwd (), и если вы не работаете в каталоге, который работает, выйдите.Не должно иметь значения, где находится ваш исполняемый образ.
Вот один кусок кода, который работает большую часть времени, а не всегда!
требует вызова main, используя argv [0], яЯ использую вызовы popen () для shell, чтобы сделать код вписывающимся в небольшой код, popen () не всегда является хорошим выбором, это может не сработать, если в PATH ранее есть другие исполняемые файлы с таким же именем:*