У меня есть интерфейс между клиентом и сервером, где клиент отправляет (1) значение без знака и (2) флаг, который указывает, подписано ли значение / нет. Затем сервер будет статически приводить беззнаковое значение к соответствующему типу.
Позже я узнал, что это поведение, определяемое реализацией, и я читал об этом, но не мог найти подходящего решения, которое было бы полностью безопасным? Я читал о каламбурах типов, преобразованиях указателей и memcpy.
Сработает ли просто использование профсоюзного типа? UnionType, содержащий подписанные и неподписанные int, а также флаг подписанный / беззнаковый. Для подписанных значений клиент устанавливает подписанную часть объединения, а сервер читает подписанную часть. То же самое для беззнаковой части. Или я что-то совсем не понимаю?
Дополнительный вопрос: как мне узнать конкретное поведение в этом случае для конкретного сценария, например. windriver diab на ппц? Я немного не понимаю, как найти такую документацию.