![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| victor79 |
|
|||
|
программист ![]() Профиль Группа: Участник Сообщений: 211 Регистрация: 15.5.2008 Репутация: нет Всего: нет |
есть большой текстовый файл, и его нужно не впихивая в файл *.cpp приделать в компиляцию и в программе получить на него указатель const char*. Вроде через ресурсы, но как именно?
|
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
ОС?
|
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
|
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Alca,
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
Ну cpp файл легко предварительно обработать заэкранирововав спец символы слешами.
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
Ага, еще и про переводы строк не забыть. здесь в пору отдельное приложение писать для этого и не забыть вставить енто приложение в пре билд экшн. Хороший ответ для ТС, спрашивающего как впихнуть простой файл. |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
volatile, можно просто обернуть в R"()"
Но, вообще говоря, нормальное внедрение ресурсов это процедура ОС-зависимая, да. |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
это если компилятор поддерживает. далеко не везде еще С++11 Но главный минус здесь не в этом, а в том что данные будут занимать статич. память. По молодости я тоже так впихивал свои данные в тело программы, даже утилитку написал, для приведения любого файла к виду:
Но потом понял, что это не камильфо. Такие вещи нужно впихивать в ресурсы. Собстенно для этого их (ресурсы) и придумали. |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 7 Всего: 50 |
Ну ка расскажи нам про ресурсы в Линуксе |
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
||||
|
||||
| victor79 |
|
|||
|
программист ![]() Профиль Группа: Участник Сообщений: 211 Регистрация: 15.5.2008 Репутация: нет Всего: нет |
у меня под windows компилятор mingw. Жаль что нельзя кросплатформенное, т.к. планируется таковое приложение.
|
|||
|
||||
| volatile |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2107 Регистрация: 7.1.2011 Репутация: 37 Всего: 85 |
victor79, ну вставьте в тело программы, раз нужно кроссплатформенно.
|
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
Если приложение кросс-платформенное и в нём используется GUI, то очень велик шанс, что GUI фреймворк, который ты используешь, уже имеет кросс-платформенные средства для хранения ресурсов.
|
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 12 Всего: 459 |
Строковая константа в области данных будет не хуже работать чем ресурсы. Под виндой такие данные попадут в readonly секцию экзешника и скорее всего не будут загружаться в память без особой необходимости. Или же выгружаться из оперативки (без свопа в page файл т.е. почти мгновенно). Как под линуксом хз, но если его не писали криворукие программисты, то он тоже должен использовать константность памяти для оптимизации размещения.
Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |