5 / 5 / 1
Регистрация: 20.11.2017
Сообщений: 51
|
||||||
1 | ||||||
Создание объекта класса, описанного в DLL04.11.2018, 21:29. Показов 996. Ответов 5
Метки нет (Все метки)
На счет того, почему же вызываются методы класса без создания объекта - вы мне разъяснили, что функция GetProcAdress() понятия не имеет, метод это класса или нет, ей тупо передаешь
дескриптор модуля и имя метода (который по-сути является обычной сишной и содержит в качестве 1-ого параметра указатель на объект). Но так как ф-ция GetName() из моего примера не использовала поля класса, то выполнение передавалось без проблем. Но как только я добавил в ф-цию GetName() печать поля класса, то сразу же получил злой сегфолт при выполнении. Тут разобрался, спасибо. Так же узнал, что можно обойтись def файлом без всяких __decclspec(dllexport/dllimport). Потому что линковка с файлом определения def или компиляция с __declspec - дают на выходе библиотеку с определением .DLL И библиотеку "импорта".lib. Но на счет класса не понятно, Вот есть класс:
Все же надеюсь, что кто-то подскажет, как в def файл добавить констр-р, чтобы не использовать __declspec(dllimport/dllexport)Так как если добавлю по ординалу, то и вызывать ее можно будет только по нему, по-моему. Собрал я её. Как создать мне объект такого класса??? Что мне в исходнике написать.
0
|
04.11.2018, 21:29 | |
Ответы с готовыми решениями:
5
Создание указателя на экземпляр класса, описанного после объявления указателя Создание объекта класса с полем являющимся объектом другого класса Возможно ли создание объекта шаблонного класса в функции этого класса? Создание объекта класса в методе этого же класса |
7792 / 6559 / 2984
Регистрация: 14.04.2014
Сообщений: 28,671
|
|
05.11.2018, 00:02 | 2 |
Если у тебя есть lib к dll, то его и используй.
0
|
5 / 5 / 1
Регистрация: 20.11.2017
Сообщений: 51
|
|
05.11.2018, 20:34 [ТС] | 3 |
Вы как всегда немногословны =) . Как мне его использовать то? С функцией понятно - подключаешь той же прагмой lib, показываешь, что ты импортируешь такую-то ф-цию и пользуешься ей. А как быть с классом-то? И хотелось сделать динамическую линковку все таки.
0
|
7792 / 6559 / 2984
Регистрация: 14.04.2014
Сообщений: 28,671
|
|
05.11.2018, 20:45 | 4 |
У тебя же есть h-файл от dll с классами.
0
|
5 / 5 / 1
Регистрация: 20.11.2017
Сообщений: 51
|
|
05.11.2018, 21:02 [ТС] | 5 |
Да хедер не тот подключал, разобрался. Спасибо Вам.
А скажите еще вот что, в библиотеку можно добавить шаблон? Я библиотеки осваиваю, и для закрытия материала осталось шаблоны в библиотеках. Ведь чисто логически: Шаблонная ф-ция, к примеру, инстанцируется на этапе компиляции, в зависимости от шаблонных пар-ов, переданных явно или неявно - неважно сейчас. Библиотека - это кусок объектного кода (уже скомпилированного). По этим рассуждениям можно сказать, что шаблонов в библиотеке быть не может?! А как же STL? или там все в исходниках? Добавьте от себя пару слов, для чудного завершения дня.
0
|
7792 / 6559 / 2984
Регистрация: 14.04.2014
Сообщений: 28,671
|
|
07.11.2018, 16:58 | 6 |
Ну ты сам ответил.
0
|
07.11.2018, 16:58 | |
07.11.2018, 16:58 | |
Помогаю со студенческими работами здесь
6
Создание объекта класса Создание объекта класса Создание объекта класса Создание объекта класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |