王乾发 2016-08-08 09:20 采纳率: 0%
浏览 1181

请教熟悉apr函数库的大神:函数apr_pstrndup的工作方式

因为开发FreeSWITCH,接触到Apache的函数库libapr。
对于其字符串函数的工作方式很不理解,请教一下。
这个函数的格式如下:
char* apr_pstrndup ( apr_pool_t * p, const char * s, apr_size_t n )

Duplicate at most n characters of a string into memory allocated out of a pool; the new string will be NUL-terminated

Parameters:
p The pool to allocate out of
s The string to duplicate
n The maximum number of characters to duplicate
Returns:
The new string
Remarks:
The amount of memory allocated from the pool is the length of the returned string including the NUL terminator

看上去很好理解,就是从内存池中分配一个新的空间,把现有内容复制过去。
但是问题来了:我没有看到清理这片内存的函数。也就是说,这片被分配的内容,要一直等到内存池被销毁的时候,才会被清理吗?这样也太不科学了。
有哪位大神可以解答一下我的疑问?

  • 写回答

2条回答 默认 最新

  • devmiao 2016-08-08 09:37
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog