Сценарий заключается в том, что я хочу читать 4 байта данных из заданного указателя, который имеет тип char.
Например: Рассмотрим следующий пример -Как читать 4 байта данных из заданного указателя char в C
int a=0;
char* c; // This will have some address
Что я хочу сделать, это прочитать 4 байта, начиная с с (то есть адрес), и назначить их в variable a
который является целым числом.
Мое решение:
a = *(int*)c; // Assembly is LDR r1, [r6,#0x00]
Моя проблема:
Над раствором хорошо работает на некоторых архитектурах, но не на некоторых из них. Чтобы быть конкретным, в моем случае он не работает на Arm CortexM0.
Если кто имеет какой-либо портативный, высокоэффективным (с минимальной сборки) замена моего решения, пожалуйста, поделитесь, было бы большим подспорьем для меня, и я благодарю вас за это заранее;)
Пожалуйста, спросите, если больше информации.
Опишите, как это * не может *. Указывает ли 'c' на другое целое число? – StoryTeller