|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|
Классы в dll22.05.2013, 23:12. Показов 10341. Ответов 42
Метки нет (Все метки)
Господа как можно поместить свой класс в dll и потом использовать этот класс в своей программе ?
Примного благодарен буду за разъеснение ,маленький пример или полезную ссылку (даже придставить не могу как это сделать , да ещё и при экспорте не потерять истинное имя т.к. EXTERN _C не подайдёт т.к. в языке "С" нет же классов), вообщем всем заранее огромное спасибо !!!
0
|
|
| 22.05.2013, 23:12 | |
|
Ответы с готовыми решениями:
42
Повторяющиеся классы в DLL Библиотека Dll, модули и классы! |
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|
| 23.05.2013, 22:31 [ТС] | |
|
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||||||
| 23.05.2013, 22:40 | ||||||
|
так?
0
|
||||||
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
||
| 23.05.2013, 23:06 [ТС] | ||
|
так только при компиляции вот такие ошибки , не о чём тебе не говорят ?
0
|
||
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|
| 23.05.2013, 23:10 [ТС] | |
|
и вот что показывает Total commander по поводу экспорта , не наводит не на какую мысль ?
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||
| 23.05.2013, 23:13 | ||
|
0
|
||
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|
| 23.05.2013, 23:16 [ТС] | |
|
правельно , потому что их нии имена в dll экспортируются через ж......пу ! А в библиотеке всё норм . Понимаешь о чём я ?
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|||||||
| 23.05.2013, 23:19 | |||||||
0
|
|||||||
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|
| 23.05.2013, 23:24 [ТС] | |
|
короче смотри
1) компилим при помощи dll , смотри скрин - 1(не фига не получается) 2) добавляем линкеру библиотеку которая создалась вместе с dll , смотри скрин -2 3) запускаем и о ЧУДООООО , с библиотекой всё прекрасно работает , вот почему же он с dll то не пашет !!!!!!!!!
0
|
|
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|
| 23.05.2013, 23:28 [ТС] | |
|
короче ладно , если через dll не выходит , буду делать через библиотеку
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 23.05.2013, 23:36 | |
|
Ты чё как с луны свалился-то? Ситуация самая обычная. Возьми какую-нибудь gdi-функцию и скомпиль без подключения *.a- файла, будет такая же ругань- типа линкёр не может ни хрена найти функцию. Потом добавь -l gdi.a и всё скомпилится.
То же самое и здесь. Первый случай- линкёр не может найти функцию и ругается. Второй случай- линкёр МОЖЕТ найти функцию и не ругается. Вот такие они, линкёры, требуют файлы *.a. Кстати, во втором скриншоте динамическая загрузка библиотеки абсолютно лишняя, ага. Не веришь- просто убери строку Load..., всё равно всё сработает. Ибо эта библиотека УЖЕ ПОДГРУЖЕНА. Ибо файл *.a... Добавлено через 1 минуту И чё за фигня, почему у тебя DEV не русифицирован?
0
|
|
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|||
| 23.05.2013, 23:43 [ТС] | |||
|
Добавлено через 2 минуты Всё , что ты написал со сравнением с gdi функциями я это и так знаю , просто хотелось бы , что бы как с библиотекой так же и с dll работало . Хотя ладно я уже забил , работает с библиотекой и пускай дальше себе работает.
0
|
|||
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
||
| 23.05.2013, 23:45 | ||
|
Ну так и всё, вопрос решён я считаю. Ответ только один- вот такие они, линкёры. Сам же понимаешь, *.a файл что-то привносит в компиляцию. Что же? Ну, наверное, благодаря ему как-то линкёр узнаёт адрес функции-метода и связывает её тело с её вызовом ассемблерным оператором перехода.
А если *.a нет, да ещё и тело функции не понять где, естественно, будет ругань. Всё предсказуемо. Добавлено через 1 минуту
0
|
||
|
Супер-модератор
|
||||||||||||||||
| 24.05.2013, 05:14 | ||||||||||||||||
Сообщение было отмечено volvo как решение
Решение
Игорь с++, ну я же дал ссылку, там ясно написано, что реализация с классом - наивная, реализуй интерфейсом. Это несложно:
1. DLL-ка:
Хидер
2. Тестирующая программа:
1
|
||||||||||||||||
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|
| 24.05.2013, 12:14 [ТС] | |
|
UI, Спасибо огромное , как ВСЕГДА выручили .
Просто я как то не совсем понял из ссылки
0
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 24.05.2013, 18:25 | |
|
бр-р-р... Ты чё, будешь в def-файле ковыряться?
0
|
|
|
Супер-модератор
|
|
| 24.05.2013, 19:09 | |
|
Ну да, некоторым в OLE - ковыряться не надо, понадобилось в DEF-файле посмотреть одну-единственную функцию, создающую экземпляр класса - тоже не надо, надо кнопку "Пыщь, чтобы все круто!!! Трах-тибидах!!!"
Вот пока такой кнопки нет - будешь и в OLE, и в DEF-ах и в отладчике и вообще где угодно ковыряться, чтобы программы работали (и чтобы они работали правильно)
1
|
|
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,705
|
|
| 24.05.2013, 19:31 | |
|
Угу. Ну это чисто для себя если. Такой код ни дать, ни показать никому. Ни спросить у кого.
0
|
|
|
500 / 474 / 63
Регистрация: 26.01.2011
Сообщений: 2,033
|
|
| 24.05.2013, 22:45 [ТС] | |
|
0
|
|
|
Супер-модератор
|
||
| 25.05.2013, 12:33 | ||
|
0
|
||
| 25.05.2013, 12:33 | |
|
Как использовать классы dll в Visual C++ Нужны классы для архивации из Ionic.dll Как подключить классы из dll библиотеки, созданную в С# в программу?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы
Всем привет! Хочу поделиться свежим (и довольно. . .
|