Мне нужно реализовать тип UUID или GUID в «plain C», аналогичный стандартным или примитивным типам, который позволяет использовать литералы.
Я использую;
typedef
uint32_t uuid[4];
И , Я пытаюсь использовать литерал составного массива в макросе:
#define UUID_C(A,B,C,D) ((uint32_t[4]) {A,B,C,D})
Итак, я могу объявить sonething как;
void DoSomething(uuid ID) { ... }
int main(...)
{
DoSomething(UUID_C(0xFF, 0xA5, 0x47, 0x7D));
}
Я пробовал другие реализации типа UUID, например a struct
или объект, или другие массивы.
Есть идеи?