Листинг 3. Пример приложения, вызывающего DLL.

// myExe.cpp

#include <windows.h>

extern "C" __declspec(dllimport) int MyFunction(char *str);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)

{

int iCode=MyFunction("Hello!");

return 0;

}

Порядок выполнения работы

Задание динамической библиотеки в MS Visual Studio 2010.

1.1 Создание DLL. Для того чтобы создать DLL в Visual Studio 2010, необходимо, как показано на рисунке 1, выполнить команду: Файл→Создать→Проект→Приложение Win32 (Можно консольное либо проект Win32).

Листинг 3. Пример приложения, вызывающего DLL. - student2.ru

Рисунок 1. Окно выбора типа проекта.

Далее следует указать параметры приложения, как показано на рисунке 2.

Листинг 3. Пример приложения, вызывающего DLL. - student2.ru

Рисунок 2. Окно выбора параметров приложения.

После выбора, вводите имя и нажимаете ОК, затем далее и выбираете Тип приложения "библиотека DLL".

После этого вы компилируете dll и получаете 2 файла: dll.dll и dll.lib (в нашем примере), затем необходимо создать файл dll.h (в нашем примере), где указываете функции, которые находятся в этом dll файле.

Пример написания в хидер файл:

void LetterList();

int PutInt(int param);

В нем мы описываем прототипы наших функций. Этот файл вы будете вставлять в вашу программу, где будете подключать dll-файл.

1.2. DLL вызов функции.После того как полчим откомпилированный dll-файл, lib-файл и файл заголовков, все это нужно скопировать в нашу программу, где мы будем подключать dll файл. Для этого необходимо создать новый проект: Файл - Создать - Проект - Консольное Приложение Win32 - Готово. В этот проект вы указываете, где будет exe файл dll.dll и dll.lib, а хидер файл (dll.h) вы указываете, где ваши хидер файлы вашего проекта.

В полученный файл мы вписываем код программы, где вызываем наши две функции (PutInt иLetterList)

#include "stdafx.h"

#include "dll.h"

#include<iostream>

#include<conio.h>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

int x = PutInt(5);

LetterList();

cout<<x;

_getch();

return 0;

}

Обратите внимание, что подключается файл dll.h ( #include "dll.h" ), который мы создали.

1.3. Подключение dll файла в Visual Studio. Далее необходимо подключить файл. В Visual Studio это делается следущим образом: Проект - Свойства - Компоновщик - Ввод - Дополнительные зависимости. Как показано на рисунке 3, здесь нужно добавить путь к файлу.lib.

Листинг 3. Пример приложения, вызывающего DLL. - student2.ru

Рисунок 3. Окно «Свойства проекта».

В нашем случае – это: D:\studio\Primer\Debug\dll.lib. Теперь компилируем проект и получаем результат, представленный на рисунке 4.

Листинг 3. Пример приложения, вызывающего DLL. - student2.ru

Рисунок 4. Окно приложения

Задание 2. Создание проекта библиотеки динамической компоновки (DLL)

1. В строке меню выберите Файл, Создать, Проект.

2. В левой области диалогового окна Новый проектразверните Установленные, Шаблоны, Visual C++и затем выберите Win32.

3. В центральной области выберите Консольное приложение Win32.

4. Укажите имя для проекта, например MathFuncsDll, в поле Имя. Укажите имя для решения, например DynamicLibrary, в поле Имя решения. Нажмите кнопку ОК.

5. На странице Обзордиалогового окна Мастер приложений Win32нажмите кнопку Далее.

6. На странице Параметры приложениявыберите в поле Тип приложенияпункт DLL.

7. Нажмите кнопку Готово, чтобы создать проект.

Наши рекомендации