ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
23 апреля
779396 Топик полностью
Vit (10.09.2017 21:05, просмотров: 107) ответил IBAH на А сколько в АРМах (а конкретно Кортекс-М0) можно загружать данных в функцию? у меня получается 8 лонгов, не многовато? с какого объема лучше передавать указатель?
Могу ошибаться, но суть примерно такая - при одном формальном параметре возвращаемый параметр укладывается на его место. Т.е. при использовании одного указателя (размер равен int32 для Cortex), как и любого одного параметра, обычно (без глубоких оптимизаций вплоть до заинлайнивания) получается равно или быстрее, чем с любыми несколькими параметрами. Ну и всяких зачисток и/или прочего служебного получается меньше. Расчеты по указателям идут в виде смещений и при глубокой оптимизации вместо суммирования (база плюс рассчитанное константное смещение) можно обнаружить прямые замены константными указателями. Все формальные параметры, которые меньше 32 бит (и даже 16 бит при Thumb2 вроде как отдыхает), обыгрываются равно или хуже, чем параметры 32 бит. Как-то так