Използване на DLL в програмата на Visual C
Текст версия: 2.0
Много хора знаят, че има два основни начина за свързване на DLL към програмата - явните и скрити.
С изричното връзка (изрично свързване) прилагането нарича LoadLibrary функцията за зареждане на DLL, а след това използвайте функцията GetProcAddress да получим указател до желаната функция (или променлива) и след работа с тях е FreeLibrary да се разтоварят в библиотеката и освободи своите ресурси.
В Visual C ++ 6.0 има и друг начин за свързване DLL, която съчетава почти всички предимствата на двата метода, обсъдени по-рано - отложено натоварване DLL (забавяне натоварване DLL). Забавени натоварване изисква подкрепа от операционната система (и по този начин ще работи дори и при Windows 95), и се осъществява чрез връзка, Visual C ++ 6.0. Когато ленив зареждане на DLL се зарежда само когато приложението достъп до една от функциите, които се съдържат в него. Това е прозрачен за програмист (т.е. причина LoadLibrary / GetProcAddress не е задължително). След работа с библиотечни функции, е завършена, тя може да се остави в паметта или изтегляне чрез __FUnloadDelayLoadedDLL функция. Извикването на тази функция - само модификации на кода, които могат да бъдат задължени да направят програмист (в сравнение с неявна връзка DLL). Ако не се намери необходимата DLL, приложението се срива, но тук ситуацията могат да бъдат коригирани, улавяне изключение, като използвате __try / __ освен строителството. Както можете да видите, мързелив натоварване DLL - много удобен инструмент за програмист.
В допълнение, ние приемаме, че библиотеката на вноса се съдържа в MyDll.lib файл.
косвена връзка
Това е най-простият метод на DLL за нашата програма. Всичко, от което се нуждаете - е да се премине към свръзката внася библиотека името, което той го използва в процеса на сглобяване. Това може да стане по различни начини.
Първо, можете да добавите директно MyDll.lib файл към екипа на проекта чрез Проект-> Добави към проектно> Files. На второ място, можете да укажете името на библиотеката, за да импортирате опции връзка. За да направите това, отворете прозореца на проектните опции (проект-> Настройки.) И се добавя в обекта / Library модули раздела име Линк MyDll.lib. И накрая, можете да вградите линк към библиотеката внос директно в изходния код на програмата. За тази цел в коментара ключ за директива #pragma. В нашия случай това е необходимо да въведете ред в програмата:
Сега можете да използвате програмата на всички променливи, функции и класове, съдържащи се в DLL, като че ли са в статична библиотека. Например: