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 не е намерена на компютъра, като цяло няма да бъде осъществено на програмата и показва съобщение за липса на динамична връзка библиотека.

Dll разговор с функция






След като бъде избран, въведете име и натиснете ОК, след това кликнете върху Next и изберете Начин на нанасяне на "DLL библиотека."

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

Dll разговор с функция

В моя случай - това е: D: \ студио \ грунд \ Debug \ dll.lib;

Сега, да изгради проекта, както и да получите следния резултат:

Dll разговор с функция

Това е работа на DLL файлове. Аз вярвам, че това е най-лесният начин да работите с динамично зареждаеми библиотеки.

И така: в тази статия, аз отговорих vospros:

Вие трябва да бъдете по този начин:

* .dll и * .lib до папката Debug и .h * в проекта.

Dll разговор с функция