Цитата(Arlleex @ Jan 11 2018, 21:48)

Под рукой нет компилятора, но, на мой взгляд, было бы хорошо подумать над передачей не указателя, а указателя на указатель:
И сделать текст исходника ещё более громоздким? И получить более громоздкий скомпилированный код?
Если было например:
char const *s; ... ; s = (char const *)StrFunc(s + 5);
то теперь будет ещё более громоздкая запись с сохранением в промежуточную переменную перед вызовом и чтением из неё - после.
Получим гораздо более развесистый текст. А уж код какой получится!.... Вместо простого ADDS R0, Rx, #5 перед вызовом, теперь будет: выделение места на стеке + запись в стек (s+5) + чтение из памяти внутри функции + удаление стекового фрейма после вызова функции - команд получается в несколько раз больше.