使用 SDK 宏分配资源
Vertica SDK 提供了三个用于分配内存的宏:
-
vt_alloc
可分配内存块以用于容纳特定数据类型(vint、struct 等)。 -
vt_allocArray
可分配内存块以用于容纳特定数据类型的数组。 -
vt_allocSize
可分配任意大小的内存块。
所有这些宏都可以从 Vertica 管理的内存池分配内存。让 Vertica 管理 UDx 的内存的主要优点是,内存会在 UDx 已完成之后自动回收。这样可确保 UDx 中不会出现内存泄漏。
由于 Vertica 会自动释放该内存,因此请勿尝试释放您通过以上任一宏分配的任何内存。尝试释放该内存将导致发生运行时错误。