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

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

Войти
Регистрация
Восстановить пароль
 
Destr6790
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 4
#1

Использование vector в dll - C++

24.05.2016, 10:07. Просмотров 124. Ответов 6
Метки нет (Все метки)

У меня есть такой вопрос. Допустим у нас в dll есть структура, vector состоит из набора этих структур. Есть функция которая возвращает vector . Как правильно обратиться к этому вектору в реализации dll на VS? В результате нужно получить данные из структур.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.05.2016, 10:07     Использование vector в dll
Посмотрите здесь:

Использование vector - C++
Здравствуйте. У меня есть два класса,в каждом находится по вектору vector<AbstractObject*>m_BulletVector; ...

Использование <vector> - C++
Возник еще один вопрос по векторам: если описываешь класс для работы с вектором, надо ли в деструкторе удалять созданный вектор, и если да,...

использование vector и struct - C++
недавно пересел на С++, пытаюсь сделать программу, которую я делал на паскале struct elem { long Li; long Ri; }; int...

Вызов функции, использующей vector, из dll - C++
Всем привет! Проблема в следующем: есть dll-ка, в ней 3 простых функции: 1. Sum - сложение 2х целых чисел. 2. Concat - соединяет 2...

DLL не компилирует (использую vector, string, .lib) - C++
Здравствуйте, как скомпилировать dll библиотеку? Пишу __declspec(dllexport) в объявлении классов но получаю уйму ошибок. Проблема в том что...

Использование dll в c++ - C++
Подскажите пожалуйста, как правильно создать и использовать dll библиотеку в c++? Делаю так. Создаю dll файл и ввожу в него следующий...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,336
Завершенные тесты: 1
24.05.2016, 10:15     Использование vector в dll #2
Сделай в dll функцию, которая будет возвращать нужную структуру из вектора.
Дешево и сердито.
Destr6790
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 4
24.05.2016, 10:34  [ТС]     Использование vector в dll #3
Спасибо. Но у меня есть ещё один вопрос. Допустим мне нужно получить данный вектор, и чтобы я им мог пользоваться в реализации на VS?(без функций на получение данных структуры в dll)
Например,в vs чтобы получить функцию, которая возвращает тип int в VS
int(*sum1)(int, int);
(FARPROC &)sum1 = GetProcAddress(hDll1, "sum");
c = sum1(10, 50);
Как аналогичным способом получить вектор структур?
Или это нельзя сделать? Жду ваших советов. Заранее выражаю благодарность.
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,336
Завершенные тесты: 1
24.05.2016, 11:00     Использование vector в dll #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Как-то так:
C++
1
2
3
4
5
6
7
8
9
10
typedef std::vector<mystruct> (_stdcall * tGetVector)(int, int);
tGetVector Func = (tGetVector)GetProcAddress(hDll1, "GetVector");
if (!Func)
{
    // Обработка ошибки.
}
else
{
    std::vector<mystruct> Vector = Func(123, 456);
}
Destr6790
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 4
24.05.2016, 11:09  [ТС]     Использование vector в dll #5
Сейчас попробую. Ещё один вопрос. Саму структуру надо экспортировать из dll, чтобы пользоваться элементами вектора?(извиняюсь если это тривиальный вопрос)
Убежденный
Системный программист
Эксперт С++
15295 / 6927 / 1096
Регистрация: 02.05.2013
Сообщений: 11,336
Завершенные тесты: 1
24.05.2016, 11:11     Использование vector в dll #6
Нет. Но клиентскому коду должно быть доступно объявление структуры,
иначе компилятор не будет знать, как с ней работать.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.05.2016, 11:17     Использование vector в dll
Еще ссылки по теме:

Использование dll - C++
Доброго времени суток. Создал свою dll с единственной функцией Nod. Проблемма в том что вызов GetProcAddress(MyDLL,&quot;Nod&quot;) не...

ActiveX dll и ее использование - C++
Не могу понять в чем проблема. Создана dll в VB cde.dll, в которой есть форма Form1 и класс form_class, в классе реализована процедура ...

Сборка и использование DLL - C++
Здравствуйте, я обучаюсь на программиста. Первый раз столкнулся со сборками с помощью Makefile. Где можно подробно ознакомится с...

Написание и использование DLL - C++
Доброго времени суток! При попытке написать элементарную DLL возникло несколько вопросов: 1) Почему без указания экспорта в...


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

Или воспользуйтесь поиском по форуму:
Destr6790
0 / 0 / 0
Регистрация: 24.05.2016
Сообщений: 4
24.05.2016, 11:17  [ТС]     Использование vector в dll #7
Огромное спасибо за ответы.
Yandex
Объявления
24.05.2016, 11:17     Использование vector в dll
Ответ Создать тему
Опции темы

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