Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
Escave
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 56
1

Передача ссылки в функцию в DLL

21.03.2015, 00:49. Просмотров 772. Ответов 3
Метки нет (Все метки)

Здравствуйте.

По этому мануалу сделал DLL https://msdn.microsoft.com/ru-ru/library/ms235636.aspx

Возникла проблема с передачей ссылок в функции, расположеные в DLL.

Допустим, в заголовочном файле DLL описал структуру и функцию, которая получает ссылку. Передаю из основной программы ссылку на переменную в эту функцию. В дебагере вижу, что часть данных сломаны. Если выровнять поля структуры, то всё ОК. А сейчас мне потребовалось передать в функцию, расположенную в DLL, ссылку на объект. И там такая же фигня. Код собирается без ошибок, все работает, но объект внутри этой функции получается "сломанным".

Если делаю эту функцию в основной программе и передаю туда ссылку, то всё ок.

Вопрос: есть ли какие-то особенности с передачей ссылок в dll? И как решить мою проблему (хочу передать ссылку в dll)?
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2015, 00:49
Ответы с готовыми решениями:

DLL - как подменить функцию, используя самодельную DLL?
Очень прошу пособить, кому не трудно... . Проблема в целом не сложная: имеется сторонняя программа...

Создание ссылки на функцию
Осваиваю с++ и borland с++ в частности совсем недавно, столкнулся с проблемой создания ссылки на...

Не вызвать функцию с DLL
Тут такая проблема с DLL!!! Обьясните, что я делаю не так Сама DLL #include <vcl.h> #include...

.dll или ссылки
Возникла следующая проблема, проект с нуля писался не мной, я только дорабатываю. Вот в чем...

Передача данных с Dll в Prg
Мне надо передать данные с длл в программу. В длл хук в нём пишу: CCCC * c; c = new CCCC;...

3
DrOffset
10695 / 5716 / 1404
Регистрация: 30.01.2014
Сообщений: 9,166
21.03.2015, 00:53 2
Escave, покажи код. Как передаешь, как dll реализована и т.п.
1
ValeryS
Модератор
7819 / 5818 / 758
Регистрация: 14.02.2011
Сообщений: 19,941
Завершенные тесты: 1
21.03.2015, 01:00 3
Лучший ответ Сообщение было отмечено Escave как решение

Решение

Цитата Сообщение от Escave Посмотреть сообщение
Если выровнять поля структуры, то всё ОК.
значит скомпилировано с разными ключами, которые поддерживают разное выравнивание
1
Escave
0 / 0 / 0
Регистрация: 16.03.2013
Сообщений: 56
21.03.2015, 01:13  [ТС] 4
Спасибо.

Я уже код начал копипастить. Флаги /Zp отличались в проекте с DLL и в основном проекте.
0
21.03.2015, 01:13
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2015, 01:13

Правильная передача dll заказчику
Здравствуйте. Написал dll для заказчика. Написано на с++ в visual studio 2010. Исходники файлы...

Ошибка об отсутствии MSVCP140D.dll, ucrtbased.dll, CONCRT140D.dll, VCRUNTIME140D.dll
Добрый день, товарищи. Возникла проблема. Делаю программу с использованием openCV 3.1 на Visual...

Предпринята попытка ссылки на удаленную функцию
Пытаюсь вставить в код функцию ifstream из библиотеки fstream, выдает ошибку: ...


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

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

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