是否有一个像样的开源 C 库来存储和操作
动态类型变量(又名变体)?我主要对原子值(int8、int16、int32、uint、字符串、blob 等)感兴趣,而 JSON 样式的数组和对象以及自定义对象也很好。这种库有用的一个主要情况是使用 SQL 数据库。
这种库最明显的特征是所有支持值的单一类型,例如:
struct Variant {
enum Type type;
union {
int8_t int8_;
int16_t int16_;
// ...
};
};
其他功能可能包括将 Variant 对象与 C 结构相互转换(使用绑定表)、将值与字符串相互转换,以及与现有数据库库(如 SQLite)集成。
注意:我不认为这个问题是C 中通用数据类型的任何库的副本?,指的是“队列、树、地图、列表”。我所说的更侧重于使 SQL 数据库的使用大致与在解释语言中使用它们一样顺畅。