Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Офтопик > Мысли вслух
Перезагрузить страницу Разработка и использование DLL
Ответ
 
Опции темы Опции просмотра
  (#16 (permalink)) Старый
Andrey1 Andrey1 вне форума
Member
 
Сообщений: 50
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.03.2004
По умолчанию 25.06.2004, 16:00

Очень хорошая статья! Спасибо.

Однако как на счет того, как соотносятся dll библиотеки и, скажем, o (в Линуксе и т.п.) ?
Ответить с цитированием
  (#17 (permalink)) Старый
Shunix Shunix вне форума
Member
 
Сообщений: 1,355
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.06.2002
По умолчанию 27.06.2004, 15:26

А что, есть желание что-нибудь написать по этому поводу?!
Как было сказано во "Введении", мы будем этому только рады!

Если такое желание ДЕЙСТВИТЕЛЬНО есть (как оно было [и есть сейчас!] у тов. Влад'а, Garik'а, Shunix'а и TNT), то пиши одному из выше перечисленных товарищей об этом через private messages.
Ответить с цитированием
  (#18 (permalink)) Старый
Garik Garik вне форума
Member
 
Сообщений: 6,201
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 07.06.2002
По умолчанию 20.08.2004, 19:43

Приветствуем всех почитателей Форума Progz Ru!
Не каждый из вас знает, но вчера был особенный день! Мы наконец-то причесали (одели, обули) и отладили вторую главу нашего совместного опуса "Разработка и использование DLL в различных средах".
http://www.hardforum.ru/f22/

Несмотря на все критические стрелы в наш адрес после выхода первой главы (которая появилась примерно восемь месяцев назад), думаем, мы делаем правильное дело.
Эта глава содержит больше практического материала, который, верим, не раз поможет решить постоянно возникающие вопросы относительно этой темы.

Ну, а мы собираемся работать дальше. Небольшой перерыв и за дело!
Если у вас вдруг возникнет неотвратимое желание дополнить этот материал, просьба писать об этом в эту тему (полный список освещаемых топиков можно найти в теме http://www.hardforum.ru/t47060. Комментарии, высказывания и хорошие/очень_хорошие/очень_очень_хорошие пожелания (лесть в т.ч.) также принимаются, но только в ограниченном количестве (чтобы не зазнались!).

Коллектив авторов (в алфавитном порядке):
Александр Леденев (Shunix),
Антон Акентьев (TNT),
Владимир Сторожевых (Влад),
Игорь Семенов (Garik).
Ответить с цитированием
  (#19 (permalink)) Старый
EUGIX EUGIX вне форума
Member
 
Сообщений: 93
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 11.09.2003
По умолчанию 03.09.2004, 10:31

А чуть больше чем "Содержание" написать нужно больше чем 8 месяцев? Или просто я не могу найти ссылку на саму статью???
Ответить с цитированием
  (#20 (permalink)) Старый
Garik Garik вне форума
Member
 
Сообщений: 6,201
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 07.06.2002
По умолчанию 03.09.2004, 20:35

Цитата:
Originally posted by EUGIX
[b]А чуть больше чем "Содержание" написать нужно больше чем 8 месяцев? Или просто я не могу найти ссылку на саму статью???
В связи с техническими проблемами 2 главы статьи были потеряны. Восстановлю их архива в понедельник. Извиняюсь.
Ответить с цитированием
Ads.
  (#21 (permalink)) Старый
Garik Garik вне форума
Member
 
Сообщений: 6,201
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 07.06.2002
По умолчанию 05.09.2004, 16:25

Все восстановлено.
Извиняюсь за проблемы.
Ответить с цитированием
  (#22 (permalink)) Старый
kost kost вне форума
Member
 
Сообщений: 1,081
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 05.10.2004
По умолчанию 13.10.2004, 19:41

Хотел сказать не про оценивание статьи, а про то, что на моём мониторе 15'' пока я туда-сюда вертел начало раздражать. Всмысле, слишком уж широко было читать (пришлось копировать к себе и там уж оформлять).
Ответить с цитированием
  (#23 (permalink)) Старый
_TNT_ _TNT_ вне форума
Member
 
Сообщений: 448
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.02.2005
По умолчанию 04.02.2005, 12:58

Ребята, я чувствую, что виноват перед вами, что так неслабо "кинул" - т.е. пропал и вообще не участвовал. Так что хочу искупить свою вину - пишите мне PM. Сейчас у меня есть время заняться чем-нибдуь, связанным с моей прошлой деятельностью в Progz.ru. Так что - рад помочь! ТЕПЕРЬ вы можете на меня положиться, ведь моё положение (жилье, инет ...) достаточно стабильное. [/quote]
Ответить с цитированием
  (#24 (permalink)) Старый
_TNT_ _TNT_ вне форума
Member
 
Сообщений: 448
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.02.2005
По умолчанию 04.02.2005, 12:58

Ребята, я чувствую, что виноват перед вами, что так неслабо "кинул" - т.е. пропал и вообще не участвовал. Так что хочу искупить свою вину - пишите мне PM. Сейчас у меня есть время заняться чем-нибдуь, связанным с моей прошлой деятельностью в Progz.ru. Так что - рад помочь! ТЕПЕРЬ вы можете на меня положиться, ведь моё положение (жилье, инет ...) достаточно стабильное. [/quote]
Ответить с цитированием
Ads
  (#25 (permalink)) Старый
_TNT_ _TNT_ вне форума
Member
 
Сообщений: 448
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.02.2005
По умолчанию 04.02.2005, 12:58

Ребята, я чувствую, что виноват перед вами, что так неслабо "кинул" - т.е. пропал и вообще не участвовал. Так что хочу искупить свою вину - пишите мне PM. Сейчас у меня есть время заняться чем-нибдуь, связанным с моей прошлой деятельностью в Progz.ru. Так что - рад помочь! ТЕПЕРЬ вы можете на меня положиться, ведь моё положение (жилье, инет ...) достаточно стабильное. [/quote]
Ответить с цитированием
  (#26 (permalink)) Старый
_TNT_ _TNT_ вне форума
Member
 
Сообщений: 448
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.02.2005
По умолчанию 04.02.2005, 12:58

Ребята, я чувствую, что виноват перед вами, что так неслабо "кинул" - т.е. пропал и вообще не участвовал. Так что хочу искупить свою вину - пишите мне PM. Сейчас у меня есть время заняться чем-нибдуь, связанным с моей прошлой деятельностью в Progz.ru. Так что - рад помочь! ТЕПЕРЬ вы можете на меня положиться, ведь моё положение (жилье, инет ...) достаточно стабильное. [/quote]
Ответить с цитированием
  (#27 (permalink)) Старый
Garik Garik вне форума
Member
 
Сообщений: 6,201
Сказал(а) спасибо: 0
Поблагодарили 1 раз в 1 сообщении
Регистрация: 07.06.2002
По умолчанию 15.05.2005, 00:32

Выложены 3я и 4я главы статьи "Написание и использование DLL в
различных средах".
http://www.hardforum.ru/f22/
Сразу оговорюсь: 4я глава пока неполная - все 1 раздел, в дальнейшем она будет расширена до нормальных размеров.
Как всегда, жду замечаний и критики.
Ответить с цитированием
  (#28 (permalink)) Старый
Jonano Jonano вне форума
Специалист
 
Аватар для Jonano
 
Сообщений: 3,541
Сказал(а) спасибо: 2
Поблагодарили 14 раз(а) в 14 сообщениях
Регистрация: 19.04.2005
По умолчанию 01.10.2005, 15:33

У вас ссылка "Коллектив авторов" не пашет. При наведении курсора в строке состояния Эксплорера отображается "mailto:".
Ответить с цитированием
  (#29 (permalink)) Старый
Gorbach Gorbach вне форума
Member
 
Сообщений: 67
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 27.10.2005
По умолчанию 08.11.2005, 05:12

Весьма и весьма недурственно. Я бы даже сказал, что очень хорошо.
Правда, имеется одно замечание, которого вероятно не было бы, если бы я последовательно не выполнял все описанные вами действия.
Так вот. Для C++Builder во второй главе описание импортируемой функции в заголовочном файле не соответствует описанию функции в dll. В первой гглаве мы функцию объявляли следующим образом:
Код:
int getSum(const int n1,const int n2)
, а импортируемую функцию описываем так:
Код:
int DLL_SPEC getSum(int, int);
. Мой Builder меня не понял и соответственно на этапе сборки функцию найти не смог.
Исправте. Все таки, я думаю, что правильно будет описывать импортируемую функцию также как объявляли в dll.
Код:
int DLL_SPEC getSum(const int, const int);
И спасибо за статью.
Ответить с цитированием
  (#30 (permalink)) Старый
Shunix Shunix вне форума
Member
 
Сообщений: 1,355
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 07.06.2002
По умолчанию 09.11.2005, 00:09

Будем отвечать оптом ;-)

Цитата:
Originally posted by Jonano
[b]У вас ссылка "Коллектив авторов" не пашет. При наведении курсора в строке состояния Эксплорера отображается "mailto:".
А что вы хотели там увидеть? :-) Скажем так: если это единственный недостаток, мы готовы с ним смириться.
Еще раз напоминаем, что любые замечания относительно статьи можно посылать в данную тему (не все любят публиковать свои почтовые адреса :-) ). В любом случае, спасибо за замечание, Jonano.

Цитата:
Originally posted by Gorbach
[b]Правда, имеется одно замечание, которого вероятно не было бы, если бы я последовательно не выполнял все описанные вами действия.
Большое спасибо за замечание и проделанную работу. Поверьте, каждому участнику это вдвойне приятно!
Впрочем, от слов к делу. Не могли бы Вы точнее пояснить, что именно у Вас вызывало проблемы с компиляцией библиотеки/приложения?

Если Вы по поводу вот этого фрагмента текста:
Цитата:
...
В созданном нами проекте теперь нужно объявить импортируемые из DLL функции. Как вы помните, мы создали DLL и экспортируем из нее функцию getSum:

int getSum(int x, int y);
..То данные слова являются лишь описанием прототипа функции без учета специфики ее дальнейшего использования (экспорта/импорта) - так сказать, для освежения памяти забывчивого читателя ;-).

Дальнейшие же слова вносят окончательную ясность и в этот момент:

Цитата:
...
Добавим определение функции в файл проекта (с точки зрения нашего тестового проекта эта функция будет импортируемой):


int __declspec(dllimport) getSum(int x, int y);
Что позволяет однозначно классифицировать данную функцию как импортируемую в приложение. Именно эту строчку и надо использовать для успешной компиляции приложения.

В дальнейшем, как Вы правильно подметили, используется унификация посредством механизма условных включений - это позволяет использовать один и тот же заголовочный файл как в приложении, так и библиотеке.

Если у Вас будут дополнительные замечания, комментарии к вышесказанному и/или предложения, то милости просим! Еще раз отмечу, что всем нам приятно слушать любые отзывы по данной тематике!

С уважением,
Shunix.
Ответить с цитированием
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разработка социальных игр patap Работа 0 23.08.2011 20:03
Разработка - СУБД fdb Nfox Другие СУБД 1 22.07.2011 13:16
Разработка приложений Lisska C++ Builder 1 08.06.2011 07:01
разработка флеш игр igoryan777 Компьютерные игры 1 09.12.2010 20:43
Разработка игр may_yuliya Компьютерные игры 0 16.09.2010 21:26
Разработка компонент KVL Delphi 2 06.05.2010 10:28
Разработка программ ProCodeService Работа 0 08.04.2009 15:03
Разработка FireWall Dian Visual C++ 1 01.10.2004 09:21
Разработка игры Anonymous Некоммерческие проекты 1 17.09.2004 15:41
Разработка - СУБД fdb Алексеев Николай Некоммерческие проекты 1 27.08.2004 02:23
Разработка БД на заказ Улисс Работа 0 20.08.2004 12:19
Разработка ПО и спецвычислителей SergeySS Работа 0 17.08.2004 17:29



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов