-
- Тогда непонятно какая вам разница как компилятор передал в функцию константу. - Скрипач(05.05.2019 11:09)
- Потому что функция, работающая в других местах, в этом не работает - она ожидает адрес, начинает считывает байт по несуществующему адресу и ядро улетает в hardfault. Да можно написать другую функцию, но речь идет о том, как в серьезном VLLV(155 знак., 05.05.2019 12:00)
- Тогда (volatile const)* ptr. Или void func(const char* const param, ...), чтобы передавало константу вместо указателя везде. - Скрипач(05.05.2019 12:03 - 12:10)
- Вы таки будете смеяться, но эта конструкция не передаёт константу вместо указателя. Она передаёт именно что указатель. Константный указатель на константу, но не саму константу. - йцукен(05.05.2019 13:20)
- Только в этом месте извращение в части длины 4 байта, в остальных нормальный буфер в ОЗУ. Собственно решение я нашел, решение получше предложил il-2, volatile компилятор исключает : incompatible declarations. Вопрос остается простой: подмена VLLV(377 знак., 05.05.2019 12:47)
- Тогда (volatile const)* ptr. Или void func(const char* const param, ...), чтобы передавало константу вместо указателя везде. - Скрипач(05.05.2019 12:03 - 12:10)
- Потому что функция, работающая в других местах, в этом не работает - она ожидает адрес, начинает считывает байт по несуществующему адресу и ядро улетает в hardfault. Да можно написать другую функцию, но речь идет о том, как в серьезном VLLV(155 знак., 05.05.2019 12:00)
- Тогда непонятно какая вам разница как компилятор передал в функцию константу. - Скрипач(05.05.2019 11:09)