Я пишу модуль для ядра Linux и хочу сохранить значение int
в файле личных данных.
По сути, я делаю: file->private_data = (void*) x
где х - какое-то int
значение.
Теперь я хочу получить доступ к int как к значению.
Использование int val = (int) file->private_data
выдает предупреждение cast from pointer to integer of different size
во время компиляции, что является разумным, поскольку это может вызвать проблемы в 64-битных системах.
Я также не могу использовать uintptr_t
, так как я работаю в ядре и у меня нет доступа к библиотекам.
Использование double
кажется неуместным.
Мой вопрос: какой должна быть лучшая практика для этого?