Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Узнать текущее расположение исполняемого файла из C / 3 сообщений из 3, страница 1 из 1
10.04.2014, 12:08
    #38610999
Armin99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узнать текущее расположение исполняемого файла из C
Добрый день.

Пишу модуль под одну стороннюю программу. В модуль не поступает никаких данных из argv[0]. Отладка или рабочий запуск исполняемого файла осуществляются через tcl-скрипты из сторонней директории (т.е. рабочая директория отличается от директории, в которой лежит исполняемый файл). Вопрос: как узнать директорию, в которой лежит исполняемый файл ? Требуется загрузить некоторые конфигурационные файлы, находящиеся в непосредственной близости от исполняемого файла.

Спасибо.
...
Рейтинг: 0 / 0
10.04.2014, 13:33
    #38611150
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узнать текущее расположение исполняемого файла из C
наприер так(linux):
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
#include <sys/types.h>
#include <unistd.h>
#include <sys/stat.h>
#include <limits.h>
#include <stdio.h>

int main()
{
  char path[PATH_MAX];
  char dest[PATH_MAX];
  struct stat info;
  pid_t pid = getpid();
  sprintf(path, "/proc/%d/exe", pid);
  if (readlink(path, dest, PATH_MAX) == -1)
    perror("readlink");
  else {
    printf("%s\n", dest);
  }
  return 0;
}
...
Рейтинг: 0 / 0
10.04.2014, 13:39
    #38611166
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Узнать текущее расположение исполняемого файла из C
Armin99как узнать директорию, в которой лежит исполняемый файл ?
Я делаю это так:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  int exe_name_len = readlink("/proc/self/exe", RootDir, sizeof(RootDir)-1);
   if (exe_name_len >= 0)
   {
     RootDir[exe_name_len] = '\0';
   }
   else
   {
     printf("readlink failed %d\n", errno);
     strcpy(RootDir, getenv("_"));
   }


Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Узнать текущее расположение исполняемого файла из C / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]