Форум программистов, компьютерный форум CyberForum.ru

Как обращатся к ресурсу из программы? - C++

Восстановить пароль Регистрация
 
popelyuk
 Аватар для popelyuk
8 / 8 / 1
Регистрация: 04.12.2012
Сообщений: 130
31.01.2013, 00:08     Как обращатся к ресурсу из программы? #1
Например я хочу добавить ресурс файл text.txt (не будем говорит о целесобразности добавления текстовых файлов в ресурсы, просто для примера) и напишу что-то типа:
C++
1
2
3
4
5
6
7
8
9
std::ifstream some_file; char *str=new char [100], buf;
 
some_file.open("text.txt", std::iose_base::in); // can i get my resource in that way??
 
for(int i(0);!some_file.eof()&&some_file; i++) {
    some_file>>buf; str[i]=buf;
}
std::cout<<"we get from file:\n";
std::cout<<str<<std::endl;
если например при компиляции ресурс я не добавлю, а добавлю его потом через сторонний редактор ресурсов в exe-файл, будет ли такая программа работать?

Слышал что для компиляции с помощью mingw нужно юзать прогу windres.exe, которая делает из .rc файлов объектные которые потом линкуются вместе с остальным, но о синтаксисе этих .rc нигде что-то ничего не слышно. И опять же допустим я их прилинкую, а как их из проги достать то?? Какой тут основной принцип? Я так понимаю что при компиляции все ресурс-файлы засовываются в некоторый раздел PE-файла и потом их загрузчик как-то или подгружает или я хз. стандарт PE у меня етсь но вот как он используется не понятно. Просветите пожалуйста!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
31.01.2013, 10:11     Как обращатся к ресурсу из программы? #2
добавить в ресурсы наверняка можно и в самой среде . Какой пользуешься? А извлеч из ресурса юзай апи системы.
popelyuk
 Аватар для popelyuk
8 / 8 / 1
Регистрация: 04.12.2012
Сообщений: 130
31.01.2013, 13:19  [ТС]     Как обращатся к ресурсу из программы? #3
Цитата Сообщение от Игорь с++ Посмотреть сообщение
добавить в ресурсы наверняка можно и в самой среде . Какой пользуешься? А извлеч из ресурса юзай апи системы.
Пользуюсь MinGW, но как оттуда достать файл я не нашёл нигде.
vbloodv
 Аватар для vbloodv
22 / 22 / 0
Регистрация: 15.12.2012
Сообщений: 314
31.01.2013, 16:33     Как обращатся к ресурсу из программы? #4
Если надо прикрепить файл ресурсов (.rc), и его также нужно добавить к програмке, то его нужно включить так же как и все другие файлы. Вот пример, который показывает, как собрать приложение с файлом ресурса, resfile.rc.
Bash
1
2
windres -o resfile.o resfile.rc
gcc -o hello hello.o resfile.o -mwindows
Как и в обычных компиляторах создавай таблицу ресурсов, ну а саму таблицу добавить ты уже умеешь !

Добавлено через 2 часа 59 минут
Для этого действительно нужно использовать АПИ системы, в WinAPI это было
C++
1
wc.hIcon=LoadCursor(hThisInstance,MAKEINTRESOURCE(ID_ICON)); // Иконка
просто получался дескриптор файла из ресурса и добавлялся в иконку
Yandex
Объявления
31.01.2013, 16:33     Как обращатся к ресурсу из программы?
Ответ Создать тему
Опции темы

Текущее время: 12:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru