libmemcached 文档有这个注释:
您可能希望避免将 memcached_create(3) 或 memcached_clone(3) 与基于堆栈的分配一起使用。与 ABI 安全相关的最常见问题涉及堆分配结构。
我该如何理解它?在这种情况下,ABI 代表Application Binary Interface
? 我想memcached_clone()
从本地函数范围内的变量中提供指向结构的指针。安全吗?
示例 - 此代码可以吗?
foo()
{
memcached_st clone_memc;
memcached_clone(&clone_memc, master_memc);
// some memcache function calls (get/set)
...
memcached_free(&clone_memc);
}