TSourceCode Изходен код2
Ако сте дошли тук, значи сте рационален програмист, който също се грижи за потребителя :) Всъщност използването на динамични DLL ви позволява да увеличите скоростта на програмата и капацитета на кода няколко пъти! Така че да започваме.
Защо направихме всичко това.
Нашата задача не е да навлизаме в подробности за използването на паметта от DLL и други глупости. Ще обясним само как да направите такава библиотека, която да улесни работата и да увеличи скоростта на програмата. Всички стъпки на създаване ще бъдат подкрепени с примери. Вторият мотив за нашето действие е почти пълното отсъствие на материали за използването на DLL в Help.
Първо беше Project.
// Експортирайте вашите функции тук във формат:
extern "C" __declspec(dllexport) двойна функция(int arg1, int arg2, int arg3, char arg4 и т.н.); // където вместо Double може да има Int, и char, и AnsiString, и void: т.е. форматът, който трябва да има върнатата стойност
Какво? Където? и как?
И така, докъде стигнахме? О да! Сега трябва да опишем декларираните функции във файла 'project_name_dll.cpp'. Това е мястото, където #include "" трябва да се добави към всичко, което програмата използва, например #include, за да контролира визуалните компоненти от библиотеката. По-нататък в тялото на програмата, т.е. след #includes, но преди функцията int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*), поставете вашите функции, които сте експортирали с такова старание, в заглавния файл. Между другото, не забравяйте да напишете #include "project_name_dll.h", т.е. свържете заглавката, както и низа USELIB("MEMMGR.LIB"); иначе нищо няма да работи. По-нататък напишете всички декларации на функции (преди тяхното описание) и всички.
Искам да използвам функции от DLL!
А кой не иска?Просто е! Просто включете заглавния файл във формата, от която се използва библиотеката, следващ в източника на проекта след USEFORM("smthng"); Добавете
След това първо свържете DLL и след това проекта. От проекта ги използвайте както обикновено, например:
Това е цялата техника! За тези, които искат повече подробности, ето източниците:
Програмата изчислява обема на куб по неговите три измерения:
двоен калкулатор(int x,int y,int z);
двоен калкулатор (int x, int y, int z)
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
extern "C" __declspec(dllexport) двоен калкулатор(int x,int y,int z);
Функция, която се брои:
Това е всичко, за което искахме да ви кажем. Благодаря за вниманието!