The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Опубликованы тесты простейших приложений на различных языках..., opennews (??), 08-Дек-19, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


328. "Опубликованы тесты простейших приложений на различных языках..."  +/
Сообщение от Аноним (327), 09-Дек-19, 14:32 
Все правильно, использует API ос.
Ответить | Правка | Наверх | Cообщить модератору

338. "Опубликованы тесты простейших приложений на различных языках..."  +/
Сообщение от Аноним (166), 09-Дек-19, 19:24 
Не угадал. Вызывает kernel32.dll, то есть API подсистемы Win32. API операционной системы Windows NT является Native API. Впрочем, это не имеет отношения к тому, что подобное сравнение некорректно. В Windows NT так же возможно вызывать ядро, но номера системных вызовов различаются от версии к версии.
Ответить | Правка | Наверх | Cообщить модератору

358. "Опубликованы тесты простейших приложений на различных языках..."  +/
Сообщение от Аноним (327), 10-Дек-19, 04:41 
Нет, это не другое. Подсистема входит в ос, апи публичный, практически все приложения используют его. WriteFile и GetStdHandle от write и open принципиально не отличаются.
Ответить | Правка | Наверх | Cообщить модератору

361. "Опубликованы тесты простейших приложений на различных языках..."  +/
Сообщение от Аноним (166), 10-Дек-19, 10:23 
> Нет, это не другое.

Вызов ядра непосредственно через шлюз идентичен динамическому связыванию?))

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

Аналогично можно сказать про libc.so

> WriteFile и GetStdHandle от write и open принципиально
> не отличаются.

Вот оно что.))) Пример на асме вызывает не write и open из библиотеки пространства пользователя. Функции определены как sys_write и sys_open макросами, подобными нижеприведённому:


#define SYSCALL_DEFINE0(sname)                    \
    SYSCALL_METADATA(_##sname, 0);                \
    asmlinkage long sys_##sname(void);            \
    ALLOW_ERROR_INJECTION(sys_##sname, ERRNO);        \
    asmlinkage long sys_##sname(void)

https://github.com/torvalds/linux/blob/v5.4/include/linux/sy...
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру