|
5 / 5 / 1
Регистрация: 20.11.2017
Сообщений: 51
|
||||||
Создание объекта класса, описанного в DLL04.11.2018, 21:29. Показов 1233. Ответов 5
Метки нет (Все метки)
На счет того, почему же вызываются методы класса без создания объекта - вы мне разъяснили, что функция GetProcAdress() понятия не имеет, метод это класса или нет, ей тупо передаешь
дескриптор модуля и имя метода (который по-сути является обычной сишной и содержит в качестве 1-ого параметра указатель на объект). Но так как ф-ция GetName() из моего примера не использовала поля класса, то выполнение передавалось без проблем. Но как только я добавил в ф-цию GetName() печать поля класса, то сразу же получил злой сегфолт при выполнении. Тут разобрался, спасибо. Так же узнал, что можно обойтись def файлом без всяких __decclspec(dllexport/dllimport). Потому что линковка с файлом определения def или компиляция с __declspec - дают на выходе библиотеку с определением .DLL И библиотеку "импорта".lib. Но на счет класса не понятно, Вот есть класс:
Все же надеюсь, что кто-то подскажет, как в def файл добавить констр-р, чтобы не использовать __declspec(dllimport/dllexport)Так как если добавлю по ординалу, то и вызывать ее можно будет только по нему, по-моему. Собрал я её. Как создать мне объект такого класса??? Что мне в исходнике написать.
0
|
||||||
| 04.11.2018, 21:29 | |
|
Ответы с готовыми решениями:
5
Создание указателя на экземпляр класса, описанного после объявления указателя Создание объекта класса с полем являющимся объектом другого класса Возможно ли создание объекта шаблонного класса в функции этого класса? |
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 05.11.2018, 00:02 | |
|
Если у тебя есть lib к dll, то его и используй.
0
|
|
|
5 / 5 / 1
Регистрация: 20.11.2017
Сообщений: 51
|
|
| 05.11.2018, 20:34 [ТС] | |
|
Вы как всегда немногословны =) . Как мне его использовать то? С функцией понятно - подключаешь той же прагмой lib, показываешь, что ты импортируешь такую-то ф-цию и пользуешься ей. А как быть с классом-то? И хотелось сделать динамическую линковку все таки.
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 05.11.2018, 20:45 | |
|
У тебя же есть h-файл от dll с классами.
0
|
|
|
5 / 5 / 1
Регистрация: 20.11.2017
Сообщений: 51
|
|
| 05.11.2018, 21:02 [ТС] | |
|
Да хедер не тот подключал, разобрался. Спасибо Вам.
А скажите еще вот что, в библиотеку можно добавить шаблон? Я библиотеки осваиваю, и для закрытия материала осталось шаблоны в библиотеках. Ведь чисто логически: Шаблонная ф-ция, к примеру, инстанцируется на этапе компиляции, в зависимости от шаблонных пар-ов, переданных явно или неявно - неважно сейчас. Библиотека - это кусок объектного кода (уже скомпилированного). По этим рассуждениям можно сказать, что шаблонов в библиотеке быть не может?! А как же STL? или там все в исходниках? Добавьте от себя пару слов, для чудного завершения дня.
0
|
|
|
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
|
|
| 07.11.2018, 16:58 | |
|
Ну ты сам ответил.
0
|
|
| 07.11.2018, 16:58 | |
|
Помогаю со студенческими работами здесь
6
Создание объекта класса в методе этого же класса Создание объекта класса Создание объекта класса
Создание объекта класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|