Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Можно ли в DLL использовать классы

87K
23 марта 2013 года
Каракен
3 / / 23.03.2013
Меня интересует такая вещь. Можно ли в ДЛЛ кодах задавать клаcсы и пользовательские типы. Будут ли они обработаны при обращении к ДЛЛ из программы написанной на другом языке и как это следует оформлять.

Просто пока в примерах ДЛЛ я видел только функции получающие какие то значения и возвращающие другие. Причём получаемые и возвращаемые значения должны быт в формате понимаем языком в котором написана программа обращающаяся к ДЛЛ. То есть создать ДЛЛ функцию для обработке объектов образованных от классов заданных на несовместимом зыке языке по моему невозможно.

Дело в том что я Хотел бы использовать возмести ООП в в программе с внутренним языком не поддерживающим создание пользовательских классов и типов. Мне это очень нужно для реализации игры стратегии на конструкторе Game Maker. Я ищу возможность наиболее красиво доится абстрактности. Определить объектам действия в которых они будут работать с абстрактными понятиями которые мне хотелось бы выразит какими либо структурами.
7
23 марта 2013 года
@pixo $oft
3.4K / / 20.09.2006
Еле-еле вчитался в текст, просьба в будущем уделять немного внимания его написанию

По теме — мастер Visual studio по умолчанию создаёт как раз DLL с классовой структурой, поэтому ответ — разрешаю ДА, можно
87K
23 марта 2013 года
Каракен
3 / / 23.03.2013
Мне нужно примерно следующие: В ДЛЛ определен клас? функция создающая объект класса и возвращающая ссылку на него. Процидуры с аргументом ссылкой ссылкой ссылку и изменяющие объект находящиеся по ней. (Возможны ли ДЛЛ процедуры?) Функции с аргументом ссылкой возвращающие значение определённого поля объекта.
326
23 марта 2013 года
sadovoya
757 / / 19.11.2005
По первому посту: классы в Dll и типы -- можно. Использовать в языке, где ООП не реализован -- вероятно нет.
341
25 марта 2013 года
Der Meister
874 / / 21.12.2007
Для межъязыкового взаимодействия есть COM, .NET и WinRT.
326
22 марта 2015 года
sadovoya
757 / / 19.11.2005
Должен себя поправить. Можно, причем даже без COM и т.п. Но, Dll должна предоставлять интерфейс в виде ф-ции фабрики объектов, возвращающей описатель для созданного объекта. Все методы должны быть обернуты тоже в экспортируемые ф-ции с дополнительным параметром - описателем. Параметры должны быть простые типа int, double, совместимые с различными языками. При необходимости параметры-объекты классов и прочее "неуниверсальное" должны быть оформлены тоже через описатели и т.д., как выше сказано. Автор вопроса и сам об этом догадывался :).
Хорошая статья по теме - http://www.cyberguru.ru/programming/cpp/cpp-export... (первая часть).
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог