Я посмотрел на некоторые другие вопросы о SO, и неясно, построен ли c поверх, под или рядом с WINAPI. Как, например, кто-то может написать что-то на чистом c, чтобы открыть окно, или ему нужно будет использовать windows api?
Я заметил сходство между версией c (library?) Открытия файла (fopen) и версией Windows API (CreateFile), которая заставляет меня задаться вопросом, является ли одна оболочкой для другой. Кто-нибудь знает?
Если окна запущены; ли программист вынужден программировать, используя Windows API, чтобы запустить что-то на нем, или программист вообще не может использовать API Windows и напрямую получать доступ к оборудованию (т. е. защищает ли операционная система Windows доступ к оборудованию)?
Что является более переносимым между различными версиями окон Windows CE. В найденной мной документации (которая теперь изменилась) говорилось, что CreateFile возвращается только к версии 2.0 Windows CE (здесь: http://msdn.microsoft.com/en-us/library/ms959950.aspx -
Обратите внимание на примечание к ссылке в самом низу, которое показывает, что информация о поддерживаемой версии была изменена). Так что же следует использовать для Windows CE версии 1? Другими словами, программирование с использованием функций c или функций, помеченных как WINAPI, более вероятно, будет работать на всех версиях Windows CE?
Я прочитал следующее в книге о программировании Windows CE, и это сбило меня с толку, так что все вышеперечисленные вопросы можно лучше понять в контексте понимания следующего:
Windows CE поддерживает большинство функций ввода-вывода файлов, которые есть в Windows NT и Windows 98. Поддерживаются все те же вызовы Win32 API, как CreateFile, ReadFile, WriteFile и CloseFile. Однако программист Windows CE должен знать о некоторых различиях. Во-первых, стандартные функции ввода-вывода для файла C, такие как fopen, fread и fprintf, не поддерживаются в Windows CE. Аналогично, старые стандарты Win16, _lread, _lwrite и _llseek, не поддерживаются. Это не очень большая проблема, потому что все эти функции могут быть легко реализованы путем обертывания файловых функций Windows CE небольшим количеством кода.
Мое понимание переноса состоит в том, что вам нужно что-то обернуть, учитывая, как получается, что библиотеки win16 и c недоступны, он заявляет об обёртывании функции CreateFile, чтобы сделать вашу собственную c-подобную версию fopen? (Единственное, что мне известно, это сборка, и если бы он предлагал ее обернуть, то она не была бы написана таким случайным образом.)
Учитывая вышесказанное, каковы отношения зависимостей между языком c (синтаксис, структуры данных, управление потоком), библиотекой функций c (например, fopen) и API-интерфейсом Windows (например, CreateFile)?