Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Уроки по Visual C++ (MFC, платформа .NET)


Информационный Канал Subscribe.Ru


Visual C++.NET. MFC. Уроки с сайта http://progs.biz

Рассылка № 62

Visual C++.NET. MFC. Урок 15. Создание и использование dll.

Полные версии уроков (с картинками) можно найти по адресам:
Урок 15. Создание и использование dll.

Д. Чепмен Освой самостоятельно Visual C++.NET за 21 день.

Заказать на Озоне

Подробнее

Рассылки сайта progs.biz через subscribe.ru
Уроки по VB.NET
Уроки по Visual Basic.NET. Написание Windows-программ, создание собственных компонентов, примеры и исходники, работа с базами данных, создание веб-приложений, FAQ, и многое другое.

Visual C++.NET. Урок 15. Создание и использование dll

На этом занятии мы с вами посмотрим, как можно создавать и использовать собственную dll. Для начала напомним, что dll - это библиотечный файл, который может содержать как некоторые классы, так и отдельные функции. Сам по себе такой файл запускать нельзя - он используется только другими программами. При использовании dll-файла имеется один существенный плюс - этот файл может использоваться сразу в нескольких программах. Так что если у вас есть некоторые общие функции, которые вы предполагаете использовать в разных ваших программах, то создавайте для этих функций отдельную dll.

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

Начинаем создавать dll-файл. Для этого запускаем Visual Studio и создаем новый тип проекта C++ типа Win32 Project.

В качестве имени проекта для определености задайте firstdll и нажмите на OK.

В появившемся окне Win32 Application Wizard перейдите слева на вкладку Application Settings и отметьте там радиокнопку dll.

Нажмите на кнопку Finish.

Мастер нам сделал заготовку для нашей dll. Будем развивать ее. Для этого добавим 1 функцию и один класс с методом. Вот код:

#include "stdafx.h"
BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
                     )
{
    return TRUE;
}
//Наш код.
//Добавляем функцию Add.
__declspec(dllexport) int Add(int a, int b)
{
    return a + b;
}
//Добавляем класс MyClass с методом MyMax.
class MyClass {
public:
    __declspec(dllexport) int MyMax(int a, int b){
        int res;
        if(a>b) res = a; else res = b;
        return res;
    }
};

Обратите внимание, что добавляемы функции и методы, которые мы хотим вызывать извне, вы пишем с модификатором __declspec(dllexport). Таким образом мы помечаем так называемые экспортируемые функции.

Компилируем программу. В папке debug проекта должен появится файл firstdll.dll.

Теперь пишем тестовую программу. Для этого создаем опять новый проект типа Win32 Project, только теперь на вкладке Application Settings выбираем Console Application и ставим галочку Empty Project.

Нажимаем на Finish. Добавляем в проект (через меню Project -> Add New Item...) cpp-файл. Пусть он для определенности назван test.cpp. Добавьте в него следующий код:

#include <iostream.h>
//Подключаем необходимый заголовочный файл.
#include "..\firstdll.cpp"
void main()
{
    MyClass w;
    cout<<w.MyMax(22, -40)<<"\n";
    cout<<Add(10, 1)<<"\n";
}

Запускаем программу. Как и следовало ожидать, она выведет 22 и 11.

Наверх

PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка .NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru
Copyright Алексеев Игорь, 2002-2004
Copyright сайт progs.biz, 2002-2004
Распространение материалов без разрешения владельцев авторских прав запрещено.


BannerDrive.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное