在 C/glib 中将 guint8 转换为 uint32_t

Convert guint8 to uint32_t in C/glib

我找不到在 C

中将 guint8 转换为 uint32_t 的方法

我试过了:

uint32_t *uint32_value = (uint32_t *)guint8_value;

但它说:

warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
   uint32_t *uint32_value = (uint32_t *)guint8_value
                            ^
warning: assignment makes integer from pointer without a cast [-Wint-conversion]
   uint32_t *uint32_value = (uint32_t *)guint8_value
                          ^

您不是从 guint8 投射到 uint32_t

您正在从整数 (guint8) 转换为指向整数 (uint32_t*) 的指针

正确的代码很简单:

uint32_t uint32_value = guint8_value;