Создание импортируемой библиотеки
Файл импортируемой библиотеки (.lib) содержит информацию, необходимую компоновщику, чтобы распознать внешние ссылки на экспортированные функции DLL, так чтобы система могла определить местонахождение указанной DLL и экспортировала ее функции во время выполнения программы.
Например, чтобы вызвать функцию CreateWindow, Вы должны связать ваш код с импортируемой библиотекой User32.lib. Основанием этого служит то, что CreateWindow находится в системе DLL, называемой User32.dll, а User32.lib - это импортируемая библиотека, используемая, чтобы распознать вызовы экспортируемых функций в User32.lib в вашем коде. Компоновщик создает таблицу, которая содержит адрес каждого вызова функции. Вызовы функций DLL, должны быть организованы, когда DLL загружается. В то время, когда система инициализирует процесс, она загружает User32.dll, потому что процесс зависит от экспортируемых функций в том отношении, что DLL и система модернизируют точки входа в таблице адресов функций. Все вызовы CreateWindow запускают функцию, экспортируемую из User32.dll.
Информацию о создании библиотек импорта, см. в документации, включенной в ваши инструментальные средства разработки.
Предупреждение! Вызов функции ExitProcess в DLL может привести в непредсказуемое состояние приложение или к системной ошибке. Убедитесь, что вызываете функцию ExitProcess из DLL, только в том случае, если Вы знаете, какие приложения или системные компоненты будут загружены DLL и что в этом контексте безопасно вызвать ExitProcess. |