Dll разговор с функция
DLL (английски Dynamic-звено библиотека -. Dynamic Link Library) - изпълнява от Microsoft на споделени библиотеки на Windows и OS / 2. Обикновено библиотеки имат разширението на файла *. DLL, *. OCX (за библиотеки, съдържащи ActiveX контроли) или *. DRV (шофьори-стари версии на операционната система). DLL структура е същата, както в PE-файлове (Portable Изпълними) за 32-64-битов на Windows и Ню-изпълними (NE) за 16-битов Windows. DLL може да съдържа код, данни и ресурси във всяка комбинация.
популярен влизане
Различни програми многоситова околната среда често се представят едни и същи действия, например, с кръстче в горния десен ъгъл на прозореца, за да го затворите, е съставен поравно от повечето програми. Това би било разхищение всяка от тези програми е подходящата функция - тя щеше да раздуха техния размер. Поради това е разумно, че тези функции са действали по общо ползване. За това са библиотеката с динамично свързване. Съответните функции са заредени в паметта на компютъра от програмния файл, но от специален файл вече е в изпълнение. В действителност, операционната система не ги заредите отново. Ако стартирате програмата изисква зареждането на динамични библиотеки, проверките на операционната система, например библиотека вече е в паметта. Ако е така, операционната система се увеличава брояча за клиенти в динамичен звено библиотека връзка. След приключване на работа, програмата казва на операционната система на необходимостта да се разтоварят споделената библиотека. В този случай, на операционната система намалява тезгяха клиент по един. Ако след това намаляване на броя на клиентите достигне нула, а след това на динамичната библиотека е наистина разтоварени от паметта на компютъра.
В Windows динамични библиотеки се съхраняват във файлове с разширение *. DLL. В допълнение към подпрограма там също могат да бъдат съхранени в други ресурси, като например икони ilibitmapy. В кода на приложението, която използва функция от динамичен звено библиотека, товарене и разтоварване на библиотеката трябва да бъде регистрирано незабавно. Компилаторът не се изисква код на функция, съдържаща се в споделените библиотеки. Когато програмата стартира, тя може, обаче, търсят подходящия DLL. Ако това DLL не е намерена на компютъра, като цяло няма да бъде осъществено на програмата и показва съобщение за липса на динамична връзка библиотека.
След като бъде избран, въведете име и натиснете ОК, след това кликнете върху Next и изберете Начин на нанасяне на "DLL библиотека."
След това можете да получите до файла, където искате да се напише програма, DLL.
Пример за писане DLL файл
Най-простият пример кодът е както следва:
#include "stdafx.h"
#include
екстернант "C ++" __declspec (dllexport) невалидни LetterList ()
STD :: Cout <<"This function was called from LetterList() " <
екстернант "C ++" __declspec (dllexport) Int PutInt (междинно параметри)
върнете Парам;
>
Една функция показва съобщение, другите се връща получените стойност.
Тогава ще се съберат DLL и да получите 2 файла: .. Dll и *** *** ИЪ (в моя пример ще dll.dll и dll.lib), тогава ще трябва да създадете заглавен файл (*** часа в моята. например, тя ще dll.h), която определя функциите, които са в този DLL файл.
Пример за писане във файла Header:
невалидни LetterList ();
Int PutInt (междинно параметри);
В него описваме прототип на нашите функции. Този файл се поставя към вашата програма, която ще се свържете на DLL файл.
DLL извикване на функция C ++
Много хора задават въпроса: как да извикате функция от DLL файлове C ++. В тази статия, ние го опиша.
Така че, ние сме съставили DLL файл, Либерия и Header файл. Всичко това ние копирате в програмата ни, където ще се свърже с DLL файл.
За да направите това, да създадете нов проект: File - New - Проект - конзолно приложение Win32 (например) - Готово. В този проект вие vkidyvaete където е файла Търсейки и dll.dll dll.lib и Хедър файл (dll.h) ви vkidyvaete където вашите Header файлове за вашия проект.
Полученият файл ние въведете кода на програмата, която ние наричаме нашите две функции (PutInt и LetterList)
#include "stdafx.h"
#include "dll.h"
#include
#include
Int _tmain (междинно argc, _TCHAR * argv [])
Int х = PutInt (5);
LetterList ();
Моля, имайте предвид, че ние включваме Header файл (#include "dll.h"), която сме създали.
Вече има някои)))
Свързване на DLL файл в Visual Studio
Ние просто трябва да се свържете на файла. Това се прави с Visual Studio, както следва: Проект - Имоти - Kompanovschik - Input - допълнителни зависимости. Там можете да направите вашия начин на faylu.lib
В моя случай - това е: D: \ студио \ грунд \ Debug \ dll.lib;
Сега, да изгради проекта, както и да получите следния резултат:
Това е работа на DLL файлове. Аз вярвам, че това е най-лесният начин да работите с динамично зареждаеми библиотеки.
И така: в тази статия, аз отговорих vospros:
Вие трябва да бъдете по този начин:
* .dll и * .lib до папката Debug и .h * в проекта.