Ладошки, у меня РАНЧИК РОДИЛСЯ! :-)
...
Уважаемые давние поклонники и посетители Ладошек!
Я запускаю коммьюнити-сайт, новый проект, а вы все, будучи
https://www.facebook.com/run4iq
Бег для интеллектуалов.
Бег для интеллекта.
Бег "за" интеллектом. Он сам не придёт ;-)
Ранчик родился!
Андрей AKA Andrew Nugged
Ладошки служат как архив программ для Palm OS и Poclet PC / Windows Mobile
и разрешённых книг с 15 окрября 2000 года.
» 24.10.2002 17:41, просмотров сегодня: 1, всего: 2242
статья размещена в группе: Программирование
оценка: 2.001, 16 голосов
Сложность : Intermediate/Advanced
Я изредка слышу о проблемах при использование массивов в CodeWarrior’е. Иногда программисты обнаруживают, что доступ к массиву
приводит к ошибке при компиляции — ссылка на библиотечную функцию __lmul__,
которая находится слишком далеко от места ее использования или находится в другом сегменте. И это приводит к ошибке компоновщика.
В современной версии CodeWarrior for Palm OS, уже нет необходимости класть
их вместе. Достаточно простое изменение кода, может убрать необходимость вызова __lmul__.
Идея состоит в том, чтобы сделать индекс выражения 16-битным значением.
Для этого используйте 2-х байтные int и проверьте, что ваше выражение
использует только 16-битные значения, или, если необходимо, приведите их к
UInt16/Int16.
Другой путь исправить это – сделать так, чтобы ваш массив состоял из элементов,
размер которых является степенью двойки. Конечно, это не всегда возможно,
но если это так, CW будет использовать операцию сдвига для расчета смещения в массиве, вместо умножения.