a crea un dll

Vom lua în considerare acum ce este nevoie DLL (Dynamic Link Library - Dinamic Biblioteca kompanuemaya) și cum să le creați. DLL- este prefixul stocate într-un fișier cu extensia .dll. Codul poate fi folosit de alte programe, dar proramma biblioteca posebe nu este. În general, atunci, bibliotecile de legături dinamice sunt funcții Nabão skompilirovannyyh. Dar yutih biblioteca are propriile sale caracteristici, astfel încât, de exemplu, în cazul în care kakkieto două sau mai multe programe de Windows executate și de a folosi funcțiile într-un DLL simultan, memoria va fi întotdeauna doar o singură bibliotecă, oferind astfel o cantitate economică de memorie. Încărcarea bibliotecii în memorie poate fi static și dinamic.







Cu DLL de încărcare statică este încărcat automat atunci când porniți aplicația este folosită uneori. O astfel de DLL conține funcții exportate, din care o descriere este în biblioteca de import fișier (import fișier bibliotecă - .lib). Pentru a utiliza o sarcină statică aveți pe aspectul etapă la programul dodklyuchit .lib fișierul DLL. În C ++ Builder, acest lucru reduce la includerea în proiect .lib fișier prin proiecte mendzherov.







Când diamicheskoy sarcină puteți încărca DLL, dacă este necesar, descarcă veni atunci când nu este necesar. Dar, pentru a lucra cu astfel de biblioteci mai greu decât statice. Luați în considerare sozzdanie și DLL utilizați sarcina statică.

În primul rând a crea un proiect (File / New / DLL). proiectul va fi creat, care conține următoarele:

int WinAPI DllEntryPoint (hinst HINSTANCE, nesemnate motiv lung, void *)

și un comentariu lung vă avertizează că aveți nevoie pentru munca SNEI capacitatea DLL dvs. de a oferi postvku unele dll dacă utilizați instanțele clasei String. Pentru exporturile și importurile din DLL trebuie să utilizeze Modi __export fikatory și __import respectiv. Dar pot fi folosite în C ++ Builder un nou cuvânt cheie __delspec () cu parametrii dllexport și DllImport respectiv. Înțelegeți că, pentru a esportirovat funcție din biblioteca Eugen un fișier antet cu descrieri _delspec (dllexport) pentru a exporta funcții pentru a importa caracteristici în aplicația pe care va trebui să pună similare în comportament la fișierul antet, dar cu _delspec (DllImport), descrieri care destul de incomod. Această problemă este rezolvată ușor: adăugați biblioteca la fișierul antet, după cum urmează:

# Definiți DLL_EXP __declspec (dllexport)

# Definiți DLL_EXP __declspec (DllImport)

Original fișier DLL scrie #define BUILD_DLL, în loc __declspec (dllexport) scrie DLL_EXP. Când scrieți programul adăugați linia #define BUILD_APP, și conectați doar fișierul header DLL.