![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
В стагнации
Участник клуба
Регистрация: 29.07.2011
Сообщений: 1,303
|
![]()
Вот я прочитал вот эту темку http://programmersforum.ru/showthread.php?t=38078.
Там показано как переносить функции в библиотеки. Но при написании в .h файле библиотеки вот такого кода Код:
Код:
Код:
Отчего я пришел к выводу что с классами не всё так просто. P.S. хотелось бы знать что значит это "C"
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
а вы хидер то подключили?(вообще обычно условно делают выбор между dllimport и dllexport, так как при подключении в проекте нужен импорт)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
В стагнации
Участник клуба
Регистрация: 29.07.2011
Сообщений: 1,303
|
![]()
С этого места поподробней. Я ужасный ламер вот что я понял. Пойду книги читать. Что такое хидер? И в чем "условные" различия между dllexport и dllimport ? Как я понимаю что export - для того чтобы экспортировать из библиотеки, import - чтобы импортировать в библиотеку.
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание. |
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
хидер==заголовочник==.h файл.
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#5 | |
В стагнации
Участник клуба
Регистрация: 29.07.2011
Сообщений: 1,303
|
![]()
ааа, вы про это. Дык вставил я его.
Цитата:
![]() Но по-большому счету это второстепенный вопрос. Основной-то не решен. Еще вот увидал сообщение __declspec(dllexport): пропускается слева от "A", когда ни одна переменная не объявлена чтобы это могло значить?
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание. |
|
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
в библиотеке должно быть dllexport, а в приложении использующем библиотеку должно быть dllimport.
вот набросал пример: состоит из двух проектов: ДЛЛ dlltest.h(LIBTESTBUILD я указал вручную в настройках проекта(С++/Препроцессор)) Код:
Код:
ПРИЛОЖЕНИЕ main.cpp Код:
так же dll была перед запуском перенесена в папку с приложением. Цитата:
а так же еще переменные можно экспортировать. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#7 | |
В стагнации
Участник клуба
Регистрация: 29.07.2011
Сообщений: 1,303
|
![]() Цитата:
Смутило другое, почему об этом ничего не было сказано в теме про ДЛЛ И еще: Код:
Код:
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание. Последний раз редактировалось MooNDeaR; 06.08.2011 в 21:24. |
|
![]() |
![]() |
![]() |
#8 | |||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
я просто привык с gcc работать, там это не канает. Цитата:
а extern "C" нужно чтоб имя не портачилось, но в случае с классами не надо ставить(классы итак только в пределах одного компиля работать будут). Цитата:
либо вверху проект/свойства далее Свойства конфигурации=>С/C++=>Препроцессор=>Определения препроцессора Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 06.08.2011 в 21:28. |
|||
![]() |
![]() |
![]() |
#9 |
В стагнации
Участник клуба
Регистрация: 29.07.2011
Сообщений: 1,303
|
![]()
Т.е. получается классы непересносимы?
Спасибо, кстати за помощь
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание. |
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
экспорт методов каждый компиль реализует по своему.
да и между компилями такие вещи не должны быть переносимы. просто функции можно сделать переносимыми(даже между ЯП) кстати, а зачем длл то? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование библиотеки <stdio.h> | Ame | Помощь студентам | 0 | 11.05.2011 22:32 |
Использование библиотеки C и C++ | demon9992 | Помощь студентам | 3 | 30.03.2011 22:14 |
Создание и использование библиотеки DLL | Blew | Помощь студентам | 0 | 06.02.2011 14:56 |
теоретическая программа с использование библиотеки mpi | Kodeks | Общие вопросы C/C++ | 0 | 29.11.2010 07:45 |
Классы vs. функции (вопрос, а не холивар) | Qousio | Общие вопросы C/C++ | 7 | 21.05.2009 18:00 |