Окт 13

Вызовы функций и DLL

Win32 API поддерживает вызовы свыше двух тысяч функций, которые можно использовать в приложениях. Все основные функции Windows объявлены в заголовочных файлах. Главным заголовочным файлом является windows.h. В этом файле содержится множество ссылок на другие заголовочные файлы.
Вызовы функций Win32 API в программе осуществляются аналогично вызовам библиотечных функций C/C++. Основное различие заключается в том, что компоновщик связывает код библиотечных функций C/C++ с кодом программы на этапе компоновки (статическое связывание), в то время как для функций Windows это связывание откладывается и осуществляется только на этапе выполнения программы (динамическое связывание). Библиотеки динамической компоновки (DLL) содержатся в файлах с расширением .dll. Большая часть этих библиотек расположена в подкаталоге SYSTEM каталога установки Windows.
Операционная система позволяет компилятору использовать библиотеки импорта, поставляемые в составе используемой среды программирования. Библиотеки импорта содержат имена всех функций из динамически подключаемых библиотек, а также ссылки на них. Используя эту информацию, компоновщик размещает в исполняемом файле таблицу, по которой в процессе загрузки программы настраиваются адреса вызываемых функций Win32 API.