![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Использует ли C Language Library функции WINAPI?
Т.е. когда я вызываю какую-либо функция из этой либы, какие функции начинают работать? Какие DLL задействованы? OC: Winda. Добавлено через 1 минуту и 14 секунд http://www.cplusplus.com/reference/clibrary/ |
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
да использует
посмотри сорцы бибилотек посмотри дизасм своего кода |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
А API-функции на чем пишут? на C (си)?
|
|||
|
||||
HappyLife |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 642 Регистрация: 17.5.2006 Репутация: 3 Всего: 8 |
Alca, на С на ASM, могут и на Дельфи кто-то написать..(
![]() |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Есть какой-то пример на СИ, создающий API-фукнцию?
|
|||
|
||||
mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 2 Всего: 306 |
![]() |
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
![]() |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Сперва посмотри что такое АПИ функция. АПИ означает Application Programming Interface, т.е. это любая функция которая позволяет пользователю твоей программы - работать с ней програмно. Если речь идет о WinAPI - тогда надо поискать исходники виндоуз, сейчас посмотрю..где-то у меня завлялись... ![]() |
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
топик лол
|
|||
|
||||
Alca |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
![]() Это сообщение отредактировал(а) Alca - 24.4.2009, 16:47 |
|||
|
||||
Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
WinAPI - это просто набор ф-ий, которые содержатся в библиотеках kernel32, ntdll etc
K.O. Это сообщение отредактировал(а) Lazin - 24.4.2009, 16:55 |
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Alca
![]() Извини, не нашел исходников виндоуз. Видимо затерялись..чекаут не получилось сделать...мой account на микрософте забанили после того как я перешел на линукс.. даже не знаю. посмотри в линуксе..он опенсорсный ![]() Это сообщение отредактировал(а) azesmcar - 24.4.2009, 16:56 |
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
как уже говорилось, API - это программный интерфейс приложений, WinAPI - программный интерфейс винды.
Внутренне устройство винды разделено на юзермодную и ядерную части. Приложения работают в юзермоде, и прямого доступа к объектам ядра не имеют. Для доступа к объектам ядра приложение должно обращаться к API ядра винды через соответствующие функции-обертки, типа kernel32.CreateFileW. То есть, при работе с объектами ядра использования WinAPI не избежать (не имея своего драйвера). Неочевидный пример - работа оператора С++ new при выделении больших кусков памяти, при этом вызывается malloc, которая вызывает kernel32.HeapAlloc которая вызывает kernel32.VirtualAlloc, и так далее пока не дойдет до ядра. Для доступа к юзермодным объектам использование WinAPI не обязательно, на этом уровне приложение все может сделать само. Так например можно реализовать полностью свои функции GetProcAddress, FindResource и т.п. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |