Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Функция в ресурсах  (Прочитано 9087 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Deke
Гость
« : 23-10-2003 11:59 » 

В Винде имеется целый ряд функций (большей частью из области COM/OLE - например, CoInitialize() ), для которых "в графе" Library в MSDN указано: "Included as a resource in xxx.dll". Вот хотелось бы узнать, действительно ли код функции расположен в секции ресурсов, и если да, то как и зачем это делать.
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #1 : 23-10-2003 12:05 » 

Имеется ввиду слово ресурсы - как некоторое хранилище , а не типовые ресурсы.

Типовым ресурсом студии в частности VC является обычный текстовый файл с своим форматом записи параметров ресурса, все действия над которым сведены в обычный код C++ в dll - что естественно.

Код функций не может располагаться в секции ресурсов, но каждый ресурс, имеет свой класс - поэтому находится для MFC в библиотеке MFC, а для СОМ объектов, соответственно в их библиотеках.  Ага
Записан

А птичку нашу прошу не обижать!!!
Deke
Гость
« Ответ #2 : 23-10-2003 12:25 » 

Гром,

Честно говоря, не понял. Я знаю, что у модуля могут быть ресурсы, хранящиеся в соответствующей секции - картинки, курсоры, строки и т. д. Кода там нет - ОК, верю. С другой стороны, ресурсами можно назвать что угодно, что требуется для работы модуля - хоть бы и объем ОЗУ. Тогда вопрос - какие именно ресурсы имеются ввиду в MSDN в приведенном контексте. Как говорится, огласите весь список, пожалуйста.
Записан
Lex
Специалист

ru
Offline Offline

WWW
« Ответ #3 : 23-10-2003 12:37 » new

Оффтоп, но в ресурсы можно запихать исполняемый код, и любую другую информацию.
Например так храняться в ресурсах авишки, html'ные файлы и т.п.
Есть функции, которые позволяют читать ресурс как обычные бинарные данные.
Записан

Megabyte be with you!
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #4 : 23-10-2003 16:48 » 

Сорри - но имея ввиду ресурсы стандартные - там кода нет.
Custom ресурсы - дело другое, оне могут быть и кодом, но к случаю реально не относятся - чисто теория Улыбаюсь

Deke, ресурсы в студии скажем в VC это диалоги, менюшки, бары, картинки - т.е. то , что делает проще редактирование и работу с визуальными данными программ, в основном.

То что ты написал - скорее всего имелось ввиду следующее...
MSDN пишет что можно найти описание (прототип) функции в файлах типа xxx.h а саму функцию в файле типа yyy.lib.
Для СОМ объекта zzz.dll в этом случае имеется ввиду не ресурс, в плане стандартного понимания, а само тело функции работающей в программе.

При использовании скажем

#include <socket.h>
...
socket(AF_INET,0,0);

при компиляции получим link error что тело не найдено, и для этого необходимо включить в проектоное описания библиотеку winsock ws2.lib.

При этом если будут использованы WinSock то надо проинициализировать ее... Примеры такого есть в форуме сети.

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

А птичку нашу прошу не обижать!!!
Lex
Специалист

ru
Offline Offline

WWW
« Ответ #5 : 24-10-2003 10:44 » 

Цитата

Сорри - но имея ввиду ресурсы стандартные - там кода нет.
Custom ресурсы - дело другое, оне могут быть и кодом, но к случаю реально не относятся - чисто теория  

 Дя я так, позанудствовал немного Улыбаюсь
Записан

Megabyte be with you!
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines