Есть проект для КПК под WinMobile. Пишется в MS VS 2005.
Было решено часть функций реализовать на ассемблере. Однако сделать это как под x86 - ассемблерными вставками - не получается. Студия пишет, что эта фишка не реализована для данной архитектуры.
Что делать?
Здравствуйте, уважаемый ksili.
Я недавно вернулась из Андорры, где неплохо покаталась на горных лыжах, но ни разу не пробовала сноуборд. Поэтому теперь хочу узнать у вас, как правильно кататься на сноуборде?
Спросите меня, при чем тут это, и почему я спрашиваю совета у вас?
А тогда позвольте спросить, почему вы спрашиваете на форуме компании Интел про компиляцию вашего кода под процессор НЕ Интел -ARM (и никогда не бывший процессором Интел, в отличие от XScale, который до 2006 года был процессором Интел) и при помощи инструмента НЕ Интел (VS 2005)? :)
Или ваш вопрос не полон и вы используете компилятор Интел для XScale? Тогда могу сказать следующее: Учтите, что код под XScale не совместим с АРМ.
Да, компилятор Интел (переданный в 2006 компании Марвелл) не поддерживает встроееный ассемблер. Но в состав поставки компилятора входит отдельный компилятор ассемблера. Вам надо объединить все функции на ассемблере в один файл и прописать ему Custom Build Step при помощи этого компилятора. После чего при соответствующей декларации этих функций вы сможете вызывать их из вашего с\с++ кода в других файлах проекта. Цель написания функций на ассемблере - очевидно, оптимизация кода. Но известно, что смешанный код с\асм оптимизируется компилятором плохо - хуже, чем просто код на с или асм. Тому есть объективные причины. Поэтому возможности встроенного ассемблера при разработке компилятора и не предусмотрели. Это было бы удобно, но - медленно.
Кстати, посмотрите в compiler help intrinsic functions. Они предоставляют фактически скорость ассемблера (это он и есть :) ) и удобство си. Единственный минус - они есть далеко не для всех asm инструкций.
Ну вот, я удовлетворила ваше любопытство, а теперь расскажите мне, как же правильно кататься на сноуборде? :)