Glib 类型(例如 guint)到标准 C 数据类型(例如 int)之间的类型转换
Type conversion between Glib types (e.g. guint) to standard C data types (e.g. int)
我正在使用一个 C 代码库,该代码库使用 API 函数 (https://developer.gnome.org/glib/stable/glib-Hash-Tables.html#g-hash-table-size) returns 一个 guint。我需要将其作为整数传递到下游。请问有什么办法吗?
我搜索了文档 Google 但一无所获。
仅仅这些 typedef 的存在就让我感到困惑。检查 glib/gtypes.h
:
typedef char gchar;
typedef short gshort;
typedef long glong;
typedef int gint;
typedef gint gboolean;
typedef unsigned char guchar;
typedef unsigned short gushort;
typedef unsigned long gulong;
typedef unsigned int guint;
所以unsigned int
和guint
之间不需要转换,它们是同一类型
有关 unsigned int
和 int
之间转换的常见警告适用。
我正在使用一个 C 代码库,该代码库使用 API 函数 (https://developer.gnome.org/glib/stable/glib-Hash-Tables.html#g-hash-table-size) returns 一个 guint。我需要将其作为整数传递到下游。请问有什么办法吗?
我搜索了文档 Google 但一无所获。
仅仅这些 typedef 的存在就让我感到困惑。检查 glib/gtypes.h
:
typedef char gchar;
typedef short gshort;
typedef long glong;
typedef int gint;
typedef gint gboolean;
typedef unsigned char guchar;
typedef unsigned short gushort;
typedef unsigned long gulong;
typedef unsigned int guint;
所以unsigned int
和guint
之间不需要转换,它们是同一类型
有关 unsigned int
和 int
之间转换的常见警告适用。