В данном примере мы загружаем библиотеку kernel32.dll, затем импортируем из нее функции GetProcAddress, GetModuleHandle и
InitializeCriticalSection. Как видим, все достаточно просто и тривиально. В
случае наличия стандартных заголовков к статически линкуемым библиотекам, где
при помощи макросов определены ANSI и UNICODE варианты импортируемых функций, при подключении этих заголовков в зависимости от типа проекта (ANSI или
UNICODE), соответствующим образом будут меняться и динамически импортируемые
функции, обеспечивая импорт корректных версий функций.
Заключение
Итак, в данной статье рассмотрен инструментарий, позволяющий удобно использовать в коде множество динамически загружаемых
библиотек и импортируемых из них функций, попутно рассмотрев несколько
интересных приемов программирования на C++ в условиях ограниченной поддержки
шаблонов. Библиотека получилась, на мой взгляд, достаточно гибкая и хорошо
расширяемая, требует достаточно мало ресурсов в плане памятикода и получаемый
при ее использовании результат в большинстве случаев по быстродействию не уступает
статически импортируемым функциям. Многое в ней реализовано так, а не иначе, из
расчета поддержки как можно большего количества компиляторов. Библиотека
проверялась на работоспособность с Visual C++ 6.0, 7.0 и 7.1, но особых проблем
при портировании на другие компиляторы (кроме, пожалуй, линейки от Borland)
быть не должно. Автор выражает благодарность всем участникам обсуждения данной
библиотеки на форуме RSDN за полезные мысли, советы и поправки. Надеюсь, что
данная библиотека поможет хотя бы частично упростить жизнь программистам WinAPI
и не только.
Скачали данный реферат: Priemskij, Osinov, Mishin, Rjawin, Afonin, Kustov, Аспидов.
Последние просмотренные рефераты на тему: реферат на тему система, контрольные работы 7 класс, рефераты по политологии, диплом о высшем образовании.
Предыдущая страница реферата |
5
6
7
8
9
10
11
12
13
14
15