Як зв'язати DLL з exe?

0 Comments 21:18

Щоб явно зв’язатися з DLL, програма повинна:

  1. Викличте LoadLibraryEx або подібну функцію, щоб завантажити DLL і отримати опис модуля.
  2. Викличте GetProcAddress, щоб отримати вказівник на кожну експортовану функцію, яку викликає програма. …
  3. Викличте FreeLibrary, коли закінчите роботу з DLL.

Якщо ви використовуєте Visual Studio для розробки додатків Windows C++, це можна зробити з Solution Explorer клацніть правою кнопкою миші ваш вузол проекту EXE, а потім виберіть у меню Додати > Ресурс. Потім натисніть кнопку «Імпорт» і виберіть двійковий ресурс, який потрібно вставити в EXE, наприклад: TestDll. dll.

  1. Встановіть ILMerge відповідно до інших потоків.
  2. Потім перейдіть до папки встановлення, за замовчуванням C:\Program Files (x86)\Microsoft\ILMerge.
  3. Перетягніть свої бібліотеки DLL і Exes до цієї папки.
  4. Утримуючи Shift, клацніть правою кнопкою миші в цій папці та виберіть відкрити командний рядок.
  5. Напишіть ilmerge myExe.exe Dll1.dll /out:merged.exe.

Посилання на динамічні бібліотеки зазвичай обробляється зв’язування з бібліотекою імпорту під час створення або створення зв’язку для створення виконуваного файлу. Потім створений виконуваний файл містить таблицю адрес імпорту (IAT), за допомогою якої посилаються на всі виклики функцій DLL (кожна функція DLL, на яку посилається, містить власний запис у IAT).

Тепер для ваших власних програм C Win32, для яких у вас є вихідний код, перетворити їх на DLL так само просто, як зміна типу проекту Visual Studio з EXE на DLL і додавання _declspec(dllexport) перед функцією main() і її компіляція.

Related Post

Чи є прихована кров у калі серйозною?Чи є прихована кров у калі серйозною?

Що означає позитивний результат аналізу калу на приховану кров? Якщо ваш FOBT позитивний, у вашому травному тракті може бути кровотеча. Це може сигналізувати про колоректальний рак, але це не діагноз