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

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

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

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

Сообщение Seenkao » 17.12.2023 14:32:31

Снег Север писал(а):Я так и знал, что вам нечего сказать.

*facepalm*
просто оставлю здесь... и это только вершина айсберга.
Seenkao
энтузиаст
 
Сообщения: 526
Зарегистрирован: 01.04.2020 03:37:12

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

Сообщение WAYFARER » 17.12.2023 16:31:02

Снег Север писал(а):Я так и знал, что вам нечего сказать.

А что тут скажешь то? Вы же оперируете общими словами, типа "всё, без исключений". Хотя бы пример привели из этого "всё".
Аватара пользователя
WAYFARER
энтузиаст
 
Сообщения: 537
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

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

Сообщение Pavia » 18.12.2023 09:35:12

Аналогом win api в линуксе является posix API
Аналогом msdn является manpages
Доступны как офлайн командой man так и онлайн.
https://linux.die.net/man/
https://www.opennet.ru/man.shtml
Третья секция как раз описание функций.
Перевод доступен тут:
https://sourceforge.net/projects/man-pages-ru/
Исходники лежат на kernal.org а обсуждение идет через рассылку.

Добавлено спустя 11 минут 29 секунд:
sts писал(а):ахаха
Так с какого XP тормозит в два раза больше, чем Win98, а Vista — в три раза тормознее, чем XP

по объективными причинам, также как и win7 в два раза тормознее, чем XP

Добавлено спустя 22 минуты 11 секунд:
походу это стеб


Чем больше сервисов тем тормознутее система. Так что неудевлюсь что не в 2 а более раз. Я просто ставил xp там всё летает.
Аватара пользователя
Pavia
постоялец
 
Сообщения: 290
Зарегистрирован: 07.01.2011 12:46:51

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

Сообщение Снег Север » 18.12.2023 10:06:29

Насчет того, какая винда тормознутая - это очередной бред красноглазиков. Мне по работе доводилось переводить десятки офисных компов с ХР на семерку и десятку, могу абсолютно авторитетно заявить, что в 100% случаев ранее еле ползавший комп начинал после обновления летать.
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3038
Зарегистрирован: 27.11.2007 16:14:47

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

Сообщение sts » 18.12.2023 11:02:24

Снег Север писал(а):Мне по работе доводилось переводить десятки офисных компов с ХР на семерку и десятку, могу абсолютно авторитетно заявить, что в 100% случаев ранее еле ползавший комп начинал после обновления летать.

крайне сомнительно. десятке нужен ссд и минимум 4 гига памяти, во времена хр такой комп был крайне редок, значит комп апгредили что делает сравнение бессмысленным

Добавлено спустя 22 минуты 1 секунду:
Pavia писал(а):Чем больше сервисов тем тормознутее система. Так что неудевлюсь что не в 2 а более раз. Я просто ставил xp там всё летает.

коротко
отличие XP от Win98
ядро NT, это
изоляция кернел\юзерспейс,
проверка прав доступа
т.е. + 2 уровня абстракций, если по простому - вместо одного вызова функции в Win98 в XP делается три (одно со сменой контекста), при этом проверка прав очень дорогая.
отличие Vista от XP
DWM,
DRM
+ 2 уровня абстракций, DWM то что в линухе в народе называют компиз, композитный менеджер окон, крайне резко повышает потребление памяти, для каждого окна создает буфер в который осуществляется отрисовка а потом делает композицию из этих буферов, для этого естественно надо перехватывать команды отрисовки, поддержка DRM, программа открывает видео файл, передает поток в декодер, декодер передает в видеокарту, видео карта передает на монитор, на каждом этапе, на системном уровне, проверяется лицензия (цифровая подпись), как пример, планировалось в кабель hdmi (к монитору) чипы ставить чтобы по нему нельзя было передавать не лицензионный контент (часть стандарта hdmi), крайне тормознутая вещь.
отличие Win7 от Vista
убрали DRM
sts
постоялец
 
Сообщения: 431
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

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

Сообщение stikriz11 » 18.12.2023 18:08:08

WAYFARER писал(а):Рекомендую книгу Майкла Керриска "Linux API. Исчерпывающее руководство".

Я скачал её и там нет как получить имя компа))) Не совсем исчерпывающее. Но, там есть немного, конечно. Не хочется даже думать, что вот это немного - это все, что в Linux есть... Хотя, может, у меня урезанная версия книги. Я же качал непонятно где.
stikriz11
постоялец
 
Сообщения: 126
Зарегистрирован: 04.09.2023 15:54:19

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

Сообщение Снег Север » 18.12.2023 19:11:22

"Пилите, Шура, пилите! Они золотые!" (С)
Аватара пользователя
Снег Север
долгожитель
 
Сообщения: 3038
Зарегистрирован: 27.11.2007 16:14:47

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

Сообщение xchgeaxeax » 18.12.2023 19:25:23

stikriz11 писал(а):Я скачал её и там нет как получить имя компа))) Не совсем исчерпывающее. Но, там есть немного, конечно. Не хочется даже думать, что вот это немного - это все, что в Linux есть... Хотя, может, у меня урезанная версия книги. Я же качал непонятно где.

Не знаю где вы искали, но посмотрите в районе 265 страницы. Имя компьютера там запихнули не в сетевые сокеты, а в информацию о системе.
xchgeaxeax
постоялец
 
Сообщения: 125
Зарегистрирован: 11.05.2023 03:51:40

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

Сообщение Alexander » 18.12.2023 19:38:35

Возникла потребность узнать в программе под Linux имя компьютера.


Код: Выделить всё
program n;
{$MODE OBJFPC}
{$H+}
uses baseunix;

var
u : UtsName;
begin
fpUName (u);
WriteLn(u.Sysname);
WriteLn(u.Nodename);
WriteLn(u.Release);
WriteLn(u.Version);
WriteLn(u.Machine);
WriteLn(u.Domain);
end.


Добавлено спустя 1 час 7 минут 14 секунд:
Как поступают разработчики Linux в таком случае? Есть где-то в открытом доступе некий справочник, где можно узнать как вызвать нечто в ядре (или где?)


1. https://www.gnu.org/
2. https://www.ibm.com/linux
3. https://www.kernel.org/
4. https://unix.stackexchange.com
5. https://stackoverflow.com
6. https://www.google.ru
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 771
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

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

Сообщение WAYFARER » 18.12.2023 21:53:01

stikriz11 писал(а):Я скачал её и там нет как получить имя компа)

Глава 12. Там все есть.
Но книгу не надо использовать в качестве справочника. Ее надо прочитать. Что бы пользоваться документацией надо знать что искать.

Пример, как получить имя компьютера:
Код: Выделить всё
uses unix;

begin
   writeln(GetHostName)
end.

Аватара пользователя
WAYFARER
энтузиаст
 
Сообщения: 537
Зарегистрирован: 09.10.2009 00:00:04
Откуда: г. Курган

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

Сообщение svk12 » 18.12.2023 23:07:09

Или так:
Код: Выделить всё
  uses sysutils,crt;

begin
  ClrScr;
  write('GetEnvironmentVariable("HOSTNAME") = ');
  writeln(GetEnvironmentVariable('HOSTNAME'));
end.   
svk12
постоялец
 
Сообщения: 408
Зарегистрирован: 09.06.2008 18:42:47

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

Сообщение xchgeaxeax » 19.12.2023 02:58:36

Тогда вот ещё один способ получения hostname:
Код: Выделить всё
uses SysUtils;
var F: TextFile; S: String;
begin
  Assign(F, '/proc/sys/kernel/hostname'); // Просто считываем его из файла в каталоге proc
  Reset(F);
  Read(F, S);
  Close(F);
  WriteLn('hostname = ''', S, '''');
  ReadLn;
end.
Кстати у меня способ с GetEnvironmentVariable не работает, а у кого-то не сработает мой способ.
xchgeaxeax
постоялец
 
Сообщения: 125
Зарегистрирован: 11.05.2023 03:51:40

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

Сообщение Alexander » 19.12.2023 07:13:07

Кстати у меня способ с GetEnvironmentVariable не работает


Ну да, не сработает. Причём
Код: Выделить всё
echo $HOSTNAME
сработает. Чуть ли не за ошибку GetEnvironmentVariable можно посчитать.

Добавлено спустя 1 час 19 минут 48 секунд:
Объяснение этого есть здесь: https://superuser.com/questions/132489/ ... e-on-linux
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 771
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

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

Сообщение sts » 19.12.2023 11:07:29

Alexander писал(а):Чуть ли не за ошибку GetEnvironmentVariable можно посчитать

ну судя по объяснению работает GetEnvironmentVariable верно
sts
постоялец
 
Сообщения: 431
Зарегистрирован: 04.04.2008 12:15:44
Откуда: Тольятти

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

Сообщение Alexander » 19.12.2023 11:21:33

ну судя по объяснению работает GetEnvironmentVariable верно


Да, верно.
Аватара пользователя
Alexander
энтузиаст
 
Сообщения: 771
Зарегистрирован: 18.12.2005 19:10:00
Откуда: оттуда

Пред.След.

Вернуться в Lazarus

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4

Рейтинг@Mail.ru