Архитектура ARM9. Язык программирования C.Какое обходное решение для исключенного исключения доступа к памяти на ARM9 с использованием C?
У нас есть сторонний стек, и один из вызовов принимает указатель (pBuffer
) в ячейку памяти. Внутри стека они могут свободно перемещаться по пройденному указателю и получать доступ к нему по своему усмотрению. К сожалению, они компенсированы переданные в указателе и передали его в другой функцию, которая пыталась сделать это от места нечетной/unalighed памяти
((uint16 *)pBuffer)[index] = value;
где value
имеет типа uint16
и index
это граница проверяются и индексы pBuffer
, Это приводит к исключению незанятого доступа к памяти. pBuffer
указывает на char *
на кучу.
Как уже упоминалось, хотя мы можем заглянуть в сторонний стек, мы не можем официально обновить код. Поэтому мы уведомляем поставщика, и они предоставляют обновление в следующей версии.
Я хочу понять, если для этого есть работа. Как выполнить описанное выше задание, не нарушая неравномерный доступ? Каков наилучший подход к решению таких проблем.
Спасибо, MSalters. Это фактически случай 3, поэтому он не может многое сделать в вызывающем. Настоящая процедура, которая выполняет эти операции, предоставляет нам. Поэтому им придется обновлять, но мы можем неофициально обновлять информацию и указывать поставщику, где проблема заключается в том, чтобы исправить и предоставить обновленный стек. – dubnde