Как искать API в Linux

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Как искать API в Linux

Сообщение stikriz11 » 11.12.2023 17:36:05

Добрый день!

Возникла потребность узнать в программе под Linux имя компьютера.
И таких вопросов, наверное, скоро будет очень много. Отсюда вопрос общего характера.
Если мне надо узнать имя компьютера под Windows, я обращаюсь к справочнику API. Есть много таких справочников и от самой Microsoft и в переводе, и сокращенные - только часто необходимое, можно искать, можно читать все подряд.

Как поступают разработчики Linux в таком случае? Есть где-то в открытом доступе некий справочник, где можно узнать как вызвать нечто в ядре (или где?) и получить желаемое, например, имя компьютера. В общем, мне нужен аналог API как в Windows.

Про имя компьютера.
Хотелось бы понять, это вообще можно получить вызовом? Это надо искать какой-то файл? Это только и исключительно в консоли можно получить, и больше никак? Это страшный секрет (невозможно найти в интернет - все ссылаются на сторонние библиотеки или консоль, но они же как-то это подучают)?

И самый неприятный вопрос. Мне придется изучать исходники Linux, чтобы узнать как вызовом некой функции узнать имя компьютера, и подобные вещи?
stikriz11
постоялец
 
Сообщения: 126
Зарегистрирован: 04.09.2023 15:54:19

Re: Как искать API в Linux

Сообщение DedFrend » 11.12.2023 18:30:21

А вы Линукс хоть видели? Имя компьютера обычно фигурирует в приглашении $ , По поводу вызовов api есть команда man (от слова manual)
DedFrend
постоялец
 
Сообщения: 156
Зарегистрирован: 25.11.2018 12:21:50

Re: Как искать API в Linux

Сообщение stikriz11 » 11.12.2023 19:03:05

DedFrend писал(а):А вы Линукс хоть видели? Имя компьютера обычно фигурирует в приглашении $ , По поводу вызовов api есть команда man (от слова manual)

Видел.
Что мне это дает? Мне нужно получить имя компьютера в программе, а не посмотреть в терминале.
Зачем мне команды консоли?

Вы не программист, видимо?
stikriz11
постоялец
 
Сообщения: 126
Зарегистрирован: 04.09.2023 15:54:19

Re: Как искать API в Linux

Сообщение xchgeaxeax » 11.12.2023 19:21:19

все есть в командах man. просто попробуйте например man connect или man printf
xchgeaxeax
постоялец
 
Сообщения: 125
Зарегистрирован: 11.05.2023 03:51:40

Re: Как искать API в Linux

Сообщение Ichthyander » 11.12.2023 19:47:09

stikriz11 писал(а):
DedFrend писал(а):А вы Линукс хоть видели? Имя компьютера обычно фигурирует в приглашении $ , По поводу вызовов api есть команда man (от слова manual)

Видел.
Что мне это дает? Мне нужно получить имя компьютера в программе, а не посмотреть в терминале.
Зачем мне команды консоли?

Вы не программист, видимо?

Собственно смысл того, что он сказал в том, что принцип работы с программами через CLI (интерфейс командной строки) универсален и сработает как при работе с консолью человека, так и при использовании во внешней программе, даже если не предусмотрено какого-либо особого API данной программой
Аватара пользователя
Ichthyander
энтузиаст
 
Сообщения: 686
Зарегистрирован: 04.04.2007 08:32:43
Откуда: Астрахань

Re: Как искать API в Linux

Сообщение stikriz11 » 11.12.2023 19:52:11

Да, что-то есть, спасибо. Я так понял, что hostname - только в файле.
Вот эти файлы с настройками, они в разных linux везде всегда в одних и тех же каталогах рассыпаны? Можно надеяться, что это так?
Еще бы заголовочные файлы сишные на паскаль переведенные...

Добавлено спустя 1 минуту 11 секунд:
stikriz11 писал(а):Да, что-то есть, спасибо. Я так понял, что hostname - только в файле.
Вот эти файлы с настройками, они в разных linux везде всегда в одних и тех же каталогах рассыпаны? Можно надеяться, что это так?
Еще бы заголовочные файлы сишные на паскаль переведенные...

Не, такой глупостью хотелось бы не заниматься.
stikriz11
постоялец
 
Сообщения: 126
Зарегистрирован: 04.09.2023 15:54:19

Re: Как искать API в Linux

Сообщение wwswowsogon » 11.12.2023 20:21:25

stikriz11 писал(а): Можно надеяться, что это так?


Нет. :) В разных дистрибутивах многие конфиги в разных местах, увы.
wwswowsogon
постоялец
 
Сообщения: 152
Зарегистрирован: 23.12.2008 20:41:37

Re: Как искать API в Linux

Сообщение stikriz11 » 11.12.2023 22:07:05

Думаю, тогда должен быть конфиг, в котором пути ко всем конфигам, и еще один конфиг, в котором путь к этому конфигу.
stikriz11
постоялец
 
Сообщения: 126
Зарегистрирован: 04.09.2023 15:54:19

Re: Как искать API в Linux

Сообщение Seenkao » 11.12.2023 22:39:26

https://chromium.googlesource.com/chrom ... yscalls.md - системные вызовы для разных архитектур.
Определяем версию ОС в C++, на паскале то же самое.
Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12

Re: Как искать API в Linux

Сообщение stikriz11 » 11.12.2023 22:53:31

Если кому интересно, нашел synsock.GetHostName() в компонентах synapse. Реализация в Linux через модуль unit, а в винде - там вызов dll. Я как раз этим сокетом и пользуюсь.

Добавлено спустя 10 минут 55 секунд:
Думаю, алгоритм должен быть такой:
1. Где-то надо узнать точное имя функции. Скорее всего, на форумах про консоль.
2. В консоли пишем man [имя_нашей_функции] - читаем справку с того места, где и если есть include.
3. Начинаем беспорядочный поиск чего-то подобного в исходниках FPC и сторонних компонентов. Если нашли - готово.
4. Если не нашли, углубляемся в исходники сишной библиотеки. Вот, еще надо компилятор поставить.
stikriz11
постоялец
 
Сообщения: 126
Зарегистрирован: 04.09.2023 15:54:19

Re: Как искать API в Linux

Сообщение RRYTY » 11.12.2023 23:18:37

stikriz11 писал(а):Думаю, тогда должен быть конфиг, в котором пути ко всем конфигам, и еще один конфиг, в котором путь к этому конфигу.


Читать документацию - единственный реальный путь к освоению Linux. Гадать и предполагать бессмысленно, метод "научного тыка" в Linux потребует несопоставимых, с ценностью результата, ресурсов.
RRYTY
постоялец
 
Сообщения: 208
Зарегистрирован: 25.12.2021 10:00:32

Re: Как искать API в Linux

Сообщение stikriz11 » 12.12.2023 00:03:03

RRYTY писал(а):Читать документацию

Ссылку дадите?
stikriz11
постоялец
 
Сообщения: 126
Зарегистрирован: 04.09.2023 15:54:19

Re: Как искать API в Linux

Сообщение RRYTY » 12.12.2023 01:16:35

Да запросто. Видимо, спутали google.com с freepascal.ru.

https://www.opennet.ru/docs/132.shtml
RRYTY
постоялец
 
Сообщения: 208
Зарегистрирован: 25.12.2021 10:00:32

Re: Как искать API в Linux

Сообщение Снег Север » 12.12.2023 04:51:05

"Документация Линукс" рассчитана исключительно на красноглазиков-консольщиков, а не на нормальных программистов. Имел печальный опыт убедиться.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3039
Зарегистрирован: 27.11.2007 16:14:47

Re: Как искать API в Linux

Сообщение RRYTY » 12.12.2023 08:56:35

Снег Север писал(а):Имел печальный опыт убедиться.

Искренне сочувствую. Но другого пути нет. И не будет. :(
RRYTY
постоялец
 
Сообщения: 208
Зарегистрирован: 25.12.2021 10:00:32

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: MailRu[bot] и гости: 12

Рейтинг@Mail.ru