![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
тернарный по мне, так в обоих случаях практология какая-то... |
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
vinter, ты знаешь вариант лучше? так напиши...
|
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
GoldFinch, может просто другой подход выбрать? Решений всегда как миниму 2, а уж подходов...
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
vinter, а какой другой? не писать на С++ ?
|
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
GoldFinch, это уже думать надо, если ты обрисуешь задачу полностью, может кто и подскажет чего. А не видя задачи, тяжело, что-то советовать
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
общая задача - разобраться с метапрограммированием на С++
частная задача - обработка строковых констант еще более частная задача - реализация динамического импорта функции по ее хешу, рассчитанному статически |
|||
|
||||
| Lazin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
а как можно импортировать ф-ю по ее хэшу?
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
Lazin, также как и по имени, поиском нужной функции в таблице имен экспорта, только вместо сравнения имен сравниваются хеши
собственно это уже оффтоп, посмотрите как реализован импорт в протекторах\упаковщиках Это сообщение отредактировал(а) GoldFinch - 11.3.2009, 19:52 |
|||
|
||||
| math64 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
По моему, в данном конкретном случае лучше написать программу ищущую код1 типа
и заменяющий его на код2:
Можно также искать уже преобразованный код2 и пересчитывать в нём константы. |
||||
|
|||||
| Lazin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
а можно сделать еще проще, написать скриптик, который будет принимать на вход файл с именами ф-ий, и преобразовывать его в *.h файл, в котором все это лежит в виде констант, либо в виде дефайнов, в принципе работы на полчаса =)
Добавлено @ 10:35 в проект нужно будет просто добавить custom build step, который-бы вызывал скрипт и все Это сообщение отредактировал(а) Lazin - 12.3.2009, 10:35 |
||||
|
|||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
это подпадает под категорию "не писать на С++"
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Этот "скрипт" можно написать и на C++, причём данные, которые нужно обрабатывать можно разместить не в отдельном файле, а в файле С++, который может входить как в основной проект, как и в "скрипт"
|
|||
|
||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
math64, это называется front-end и никак не относится к языку
это хорошее решение если писать для себя и 1 раз, в остальных случаях это порождает множество проблем |
|||
|
||||
| Lazin |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3820 Регистрация: 11.12.2006 Где: paranoid oil empi re Репутация: 41 Всего: 154 |
если ты используешь нормальную билд систему, то это не проблема, и используется такой подход часто, например во время генерации заголовочных файлов по библиотекам типов =) Добавлено через 9 минут и 54 секунды можно конечно реализовать все на с++, например как-нибудь так:
|
||||
|
|||||
| GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
примерно вот так выглядит импорт функции по хешу, если кто не видел
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |