当前位置:  开发笔记 > 运维 > 正文

我应该在Linux中释放getpwuid()返回的指针吗?

如何解决《我应该在Linux中释放getpwuid()返回的指针吗?》经验,为你挑选了2个好方法。

我打电话后getpwuid(uid),我有一个指针的引用.当我不再使用它时,我应该释放指针吗?阅读手册页,它说它引用了一些静态区域,可能会被后续调用相同的函数覆盖,所以我不确定是否应该触摸那个内存区域.

谢谢.



1> camh..:

不.您不需要释放结果.你只能使用malloc(3),calloc(3)或realloc(3)在堆上分配的指针上调用free(3).

静态数据是程序数据或bss段的一部分,并将持续到进程退出(或被exec(2)覆盖).



2> Steve Baker..:

*_r函数(getpwuid_r())用于线程安全(可重入)函数,允许您提供缓冲区空间以放置返回的信息.确保检查errno是否成功.如果不使用可重入函数,则可以安全地假设函数返回不需要释放的数据,但也会被连续调用同一函数覆盖.

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有