Есть небольшой проект на VC++ 6.5 с использованием MFC (3 диалога, немного математики, дисковые операции и обращения к реестру). Хотелось бы, чтобы эта прога работала на КПК хотя бы под Windows Mobile 2003. Как этого проще всего добиться, или же по-любому придется переделывать заново? Что тогда посоветуете? EVC 4.3? Или лучше Studio .NET и переходить на C#?
Вдогонку: проект будет модернизироваться, и прога должна работать и под x86 и на КПК. Не хотелось бы вести изменения параллельно в двух одинаковых проектах сразу...
Заранее благодарен.
Здравствуйте, Max_F, Вы писали:
M_F>Вдогонку: проект будет модернизироваться, и прога должна работать и под x86 и на КПК. Не хотелось бы вести изменения параллельно в двух одинаковых проектах сразу... M_F>Заранее благодарен.
В общем реально писать один код, который бы одинаково успешно работал
и на x86 и на КПК. Для этого нужно придерживаться обычных правил
для кроссплатформенной разработки.
В твоем случае это будет даже проще.
Но есть тонкости. GUI придется подгонять... Как ни крути, но на КПК места меньше и
иногда борьба идет за каждый пиксель.
Затем, если у тебя интесивные вычисления,
то отсутствие сопроцессора ты скорей всего заметишь.
Как выход, можно использовать числа в формате с фиксированной точкой.
У Intel есть соответствующие библиотеки. Но опять же, твоя программа
должна быть спроектированна так, что бы можно было бы безболезненно
менять double на тип с фиксированной точкой и обратно.
Памяти меньше. Это тоже может быть критичным.
В общем при определенной аккуратности все возможно.
Да, еще по поводу интенсивных вычислений...
Если скорость для тебя критична, то лучше использовать компилятор от Intel.
Он встраивается в eVC и дает преимущество на операциях с double в разы (у меня примерно в 5 раз).
B>В общем реально писать один код, который бы одинаково успешно работал B>и на x86 и на КПК. Для этого нужно придерживаться обычных правил B>для кроссплатформенной разработки.
А где можно узнать о этих правилах?
B>Затем, если у тебя интесивные вычисления, B>то отсутствие сопроцессора ты скорей всего заметишь. B>Как выход, можно использовать числа в формате с фиксированной точкой. B>У Intel есть соответствующие библиотеки. Но опять же, твоя программа B>должна быть спроектированна так, что бы можно было бы безболезненно B>менять double на тип с фиксированной точкой и обратно.
Да нет, вычисления не интенсивные, я думаю, проблем не будет.
B>eVC для твоих целей вполне хватит.
Означает ли это, что eVC "скушает" имеющийся проект и не подавится? Или надо будет делать новый и пользоваться Ctrl+C — Ctrl+V?
B>>eVC для твоих целей вполне хватит.
M_F>Означает ли это, что eVC "скушает" имеющийся проект и не подавится? Или надо будет делать новый и пользоваться Ctrl+C — Ctrl+V?
проект придется создавать заново и кидать туда файлы (можно создать пустой..) потому что формат проектных файлов разный хотя это все может жить в одном каталоге по крйней мере у нас живет
Здравствуйте, Max_F, Вы писали:
M_F>Здравствуйте, bkat, спасибо за ответ. Вы писали:
B>>В общем реально писать один код, который бы одинаково успешно работал B>>и на x86 и на КПК. Для этого нужно придерживаться обычных правил B>>для кроссплатформенной разработки.
M_F>А где можно узнать о этих правилах?
Правила в общем-то просты.
Не нужно пользоваться хаками.
Нужно отделять логику от представлений.
Части, зависящие от окружения (например ОС) надо выносить в отдельные модули,
которые имеют платформенно-независимый интерфейс.
У меня есть опыт перетаскивания очень большого проекта на PPC платформу.
Пришлось помучиться немного с STL и плюс нашлось пару неприятных багов от компилятора MS.
Но в целом все прошло довольно гладко.
B>>eVC для твоих целей вполне хватит.
M_F>Означает ли это, что eVC "скушает" имеющийся проект и не подавится? Или надо будет делать новый и пользоваться Ctrl+C — Ctrl+V?
Проектные файлы надо будет создавать с нуля.
Но это рутинная работа, на которую врядли уйдет более двух часов.
Здравствуйте, bkat, Вы писали:
B>Да, еще по поводу интенсивных вычислений... B>Если скорость для тебя критична, то лучше использовать компилятор от Intel. B>Он встраивается в eVC и дает преимущество на операциях с double в разы (у меня примерно в 5 раз).
А можно ссылку на библиотеку и компилятор от Intel? Как я понял, я отдам библиотеке
double и получу обратно тип с фиксированной точкой?
Здравствуйте, Дед Пихто, Вы писали:
ДП>Здравствуйте, bkat, Вы писали:
B>>Да, еще по поводу интенсивных вычислений... B>>Если скорость для тебя критична, то лучше использовать компилятор от Intel. B>>Он встраивается в eVC и дает преимущество на операциях с double в разы (у меня примерно в 5 раз). ДП>А можно ссылку на библиотеку и компилятор от Intel? Как я понял, я отдам библиотеке ДП>double и получу обратно тип с фиксированной точкой?
Библиотеки (IPP и GPP) можно пользовать и с компилятором от MS.
GPP был даже на шару (может что изменилось...). В GPP функций не много
и кроме арифмерики и тригонометрических функций для типов с фисксированной точкой
мало что есть дополнительного.
Так что если нужно, к примеру, FFT, то стоит посмотреть IPP, который уже не бесплатен.