Отключение ошибки «приведение из указателя к меньшему типу uint32_t» в Clang

Я работаю над школьным проектом, который предполагает перенос большого фрагмента кода C ++ на экспериментальный аппаратный компонент. К сожалению, это аппаратное обеспечение является 64-разрядным, и код содержит много экземпляров арифметики с указателями, которые ожидают, что указатели будут 32-разрядными, то есть частоreinterpret_cast<uint32_t>(ptr).

Проходить их один за другим было бы очень утомительно, и так как это экспериментальный проект, я бы с радостью согласился на «хакерский» обходной путь. Поэтому вместо этого я изменил реализацию malloc, чтобы она никогда не выделяла память выше предела 4 ГБ. Технически эти приведения должны быть действительными.

Вопрос в том, как мне объяснить это Clang? Я получаю ошибку:error: cast from pointer to smaller type 'uint32_t' (aka 'unsigned int') loses information, Есть ли способ отключить его?

Спасибо Дэвид

Ответы на вопрос(5)

Ваш ответ на вопрос