Реализация API на разных платформах

Хорошо, это практически любой нестандартный API ОС, работающий на всех разных ОС. Но для моего примера рассмотрим платформу Windows, API SDL (Simple DirectMedia Layer).

На самом деле этот вопрос пришел мне в голову, когда я читал о SDL. Первоначально я думал, что в Windows (и в основном в любой другой ОС) вы должны использовать API ОС для выполнения определенных действий, таких как запись на экран, создание окна и т. д., потому что этот API знает, какие вызовы ядра и вызовы системных подпрограмм он должен выполнять. . Но когда я прочитал о SDL, я удивился, потому что вы не можете заставить компьютер делать что-то большее, чем может ОС, поскольку вы не можете получить доступ к HW напрямую, только через API ОС, от выделения консоли до DirectX.

Итак, мой вопрос на самом деле заключается в том, как работают эти нестандартные API-интерфейсы ОС? Используют ли они (обертывают) исходный системный API (например, MFC обертывает win32 API)? Или у них действительно есть прямой доступ к ядру Windows? Или есть какой-то третий, промежуточный?


person B.Gen.Jack.O.Neill    schedule 05.05.2010    source источник


Ответы (1)


Действительно, SDL представляет собой оболочку для вызовов, специфичных для ОС, хотя и со многими упрощениями и удобными функциями. В Windows SDL использует DirectX.

person intgr    schedule 05.05.2010