Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.76/29: Рейтинг темы: голосов - 29, средняя оценка - 4.76
3 / 3 / 1
Регистрация: 10.01.2015
Сообщений: 69
1

Аналог GetModuleFileName для Linux

23.08.2015, 18:47. Показов 5472. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую всех.

Можете, пожалуйста, дать аналог функции
PHP
1
GetModuleFileName
для линукса?

P.S. функция получает полный путь + название файла(в котором функция запущена).

Добавлено через 27 минут
Нашёл. тему можно закрывать!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.08.2015, 18:47
Ответы с готовыми решениями:

Есть ли аналог winapi функции showWindow в Linux?
Есть ли аналог winapi функции showWindow в Linux? Заранее спасибо.

Вопрос по boost или Qt: нужен аналог функции WinApi GetModuleFileName()
Цель: нужна функция, работающая на платформах *nix и win, которая бы определяла местоположение...

Аналог os.startfile для linux
Есть GUI (PyQt4) приложение, генерирующее и автоматически открывающее .xlsx документы. Документы...

Аналог grep из Linux для Windows
Кто-нибудь пробовал уже написать аналог линуксовского grep? может кто-то уже задавался этим...

4
3 / 3 / 1
Регистрация: 12.02.2017
Сообщений: 75
23.03.2017, 05:52 2
А решение так и не написал. Странно.
Народ, чтобы не создавать новую тему подскажите какой функцией получить путь к исполняемому файлу для Linux?
GetModuleFileName ведь только на винде работает)

Добавлено через 27 минут
Советуют readlink функцию, но на сколько я понял библиотека с такой ф-ей есть только в Линуксе.
0
Модератор
3389 / 2161 / 352
Регистрация: 13.01.2012
Сообщений: 8,380
23.03.2017, 13:39 3
leo7755
C++
1
2
3
4
5
6
7
8
9
10
11
12
std::string get_app_name(void)
{
    char buffer[FILENAME_MAX];
    buffer[0] = '\0';
#ifdef IS_LINUX
    ssize_t size = readlink("/proc/self/exe", buffer, FILENAME_MAX - 1);
    if (size != -1) buffer[size] = '\0';
#else
    GetModuleFileNameA(0, buffer, FILENAME_MAX);
#endif
    return buffer;
}
1
3 / 3 / 1
Регистрация: 12.02.2017
Сообщений: 75
24.03.2017, 04:28 4
vxg большое спасибо, успешно протестил на Линуксе и на Винде твой вариант.
Заметил такую вещь, что на Винде путь указан символом \, а на Лине /. Так должно быть?

source_path = 'D:\samp\Project [test 1]\mode\win32\samp-server.exe'
source_path = '/home/mgs/sampsvr'
0
Модератор
3389 / 2161 / 352
Регистрация: 13.01.2012
Сообщений: 8,380
24.03.2017, 06:27 5
leo7755, да
0
24.03.2017, 06:27
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.03.2017, 06:27
Помогаю со студенческими работами здесь

Аналог nemprogressbegin из nnotesws.dll для linux
Доброго времени, уважаемые. Из windows библиотеки nnotesws.dll можно использовать некоторые...

Аналог программы RusTV Player для linux
Подскажите пожалуйста аналог программы RusTV Player для linux. с таким же принципом работы...

Аналог файлового менеджера Directory Opus для Linux
Ищу аналог файлового менеджера Directory Opus для Linux Ubuntu 13.10 с возможностью использования...

Нужна программа для регулировки яркости дисплея (аналог апплета gnome в linux)
Приветствую ! В линуксовых окружениях рабочего стола есть апплет (в gnome например) регулировки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru