Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.68
PointsEqual
ниначмуроФ
834 / 518 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
#1

Экспорт классов из DLL - C++

11.04.2012, 08:06. Просмотров 3452. Ответов 1
Метки нет (Все метки)

Привет.

Вот так я экспортирую обычные ф-ии:

main.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef __MAIN_H__
#define __MAIN_H__
 
#include <windows.h>
 
#ifdef BUILD_DLL
    #define DLL_EXPORT __declspec(dllexport)
#else
    #define DLL_EXPORT __declspec(dllimport)
#endif
 
 
#ifdef __cplusplus
extern "C"
{
#endif
 
int DLL_EXPORT Mult(int a, int b); //тестовая
 
#ifdef __cplusplus
}
#endif
 
#endif //
main.cpp
C++
1
2
3
4
5
6
#include "main.h"
 
int DLL_EXPORT Mult(int a, int b)
{
    return a * b;
}
так вызываю обычную ф-ию из dll:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
 
    typedef int (*Multiplies)(int x, int y);
 
    Multiplies mm;
 
    HINSTANCE h = 0;
 
    h = LoadLibrary("dko.dll");
 
    mm = reinterpret_cast<int(*)(int, int)>(GetProcAddress(h, "Mult"));
 
    cout << mm(3,4);
 
}
------------------------------------------------------

и теперь допустим есть класс (в dll)
C++
1
2
3
4
5
6
7
8
9
10
11
class cAnimal
{
public:
    cAnimal()
        :m_age(){}
 
    int GetAge() const;
 
private:
    int m_age;
};
Как нужно написать чтобы создать экземпляр этого класса?

Добавлено через 18 часов 31 минуту
up...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.04.2012, 08:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Экспорт классов из DLL (C++):

Экспорт классов из dll библиотек (Visual Studio) - C++
Здравствуйте! Подскажите, как такой код вставить в dll файл и загрузить его в программу: //log.h #include &lt;iostream&gt; class Log {...

Экспорт функции из dll - C++
Здравствуйте! Сейчас изучаю экспорты функций из dll-ок. Функцию без параметров удалось успешно экспортировать. А далее пробовал...

Экспорт класса DLL - C++
Привет :coffee: Есть DLL: #ifdef DLL_EXPORTS #define DLL_API __declspec(dllexport) #else #define DLL_API...

Экспорт шаблонной функции из DLL - C++
Привет! В DLL есть класс и глобальная шаблонная функция, для получения интерфейса этого класса при динамическом подключение DLL: ...

Экспорт функции DLL - C++
Вечер добрый. Работаю над проектом, в котором из DLL экспортируются функции для другого проекта. Столкнулся с проблемой, что сначала была...

Конструкторы классов в неявно подключенных DLL - C++
Добрый день, господа программисты! Столкнулся с парой проблем при работе с DLL При написании классов внутри DLL, компилятор не...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
panicwassano
591 / 559 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
11.04.2012, 09:32 #2
http://msdn.microsoft.com/ru-ru/library/ms235636.aspx
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2012, 09:32
Привет! Вот еще темы с ответами:

Кто может поделиться файлами ogg.dll, vorbis.dll и vorbisfile.dll - 32-х и 64-битными версиями? - C++
Движок перевожу на платформу Win64 и нужно, чтобы разрядность ЕХЕ и DLL совпадали, а в интернете искал 64-битные версии ogg.dll, vorbis.dll...

Разработать иерархию классов, демонстрирующее работу с коллекцией объектов разных классов - C++
Задание: Разработать в соответствии с индивидуальным заданием иерархию классов и приложение, демонстрирующее работу с коллекцией объектов...

Вынести методы из классов Panel и PictureBox (явная реализация методов базовых абстрактных классов) - C++
Тема: Множественное наследование. Явная реализация методов базовых абстрактных классов. Как вынести методы из классов Panel и...

Реализация отношения классов типа двунаправленная ассоциация, UML, порядок объявления классов, неполный класс - C++
Доброго времени суток! Осваивая UML, решил реализовать отношение двунаправленной ассоциации по диаграмме: У одного владельца...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru