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

Интерфейс к DLL - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Comrad
Сообщений: n/a
05.07.2010, 13:49     Интерфейс к DLL #1
Здравствуйте.
Есть такая ситуация:

В файле 1.cpp описаны функции одного типа.
В файле 2.cpp описаны функции на другую тему.

Как написать файл 3.cpp, так чтобы при компиляции его как dll были видны функции из файла 1.cpp и файла 2.cpp.

Как отдельные dll-ки 1 и 2 собираются и работают нормально.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.07.2010, 13:49     Интерфейс к DLL
Посмотрите здесь:

C++ Интерфейс
интерфейс C++
C++ Загрузка переменной из DLL (GetProcAddress не берет значение переменной из *.dll)
Подгрузка dll через dll C++
C++ Вызов dll ресурсов в dll
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
05.07.2010, 13:54     Интерфейс к DLL #2
описать их так как в этом посте Как создать свою библиотеку?
Comrad
Сообщений: n/a
05.07.2010, 14:12     Интерфейс к DLL #3
В том и дело, что описывая их так в файлах 1 и 2, то получаю рабочие dll (1.dll и 2.dll).
Необходимо сделать, так, что бы функции из этих файлов было видно при сборке 3.dll.
То есть здесь используется просто раздельная компиляция, функции объявлены и описаны в разных файлах, а видим мы их через один "интерфейсный".

Выглядит примерно так:

Файл 1.cpp
C
1
2
3
4
void f1(unsigned char a)
{
  a=1;
}
Файл 2.cpp
C
1
2
3
4
void f2(unsigned char b)
{
  b=2;
}
Файл 3.cpp
C
1
2
3
4
5
6
7
8
9
10
#ifdef BUILD_DLL
#define EXPORT __declspec(dllexport)
#else
#define EXPORT __declspec(dllimport);
#endif
 
//Интерфейс для f1
???
//Интерфейс для f2
???
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
05.07.2010, 21:07     Интерфейс к DLL #4
Comrad, создайте проект с файлами file1.cpp, file2.cpp, file3.h.
В файлах file1.cpp и file2.cpp подключите file3.h и напишите реализацию ваших функций.
В file3.h напишите прототипы ваших функций по типу того, как в том посте и соберите dll
Yandex
Объявления
05.07.2010, 21:07     Интерфейс к DLL
Ответ Создать тему
Опции темы

Текущее время: 17:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru