为什么有的库中, 内存申请, 释放等函数要做成可修改的, 比如curl. malloc, realloc这种不是通用的吗?
为什么有的库中, 内存申请, 释放等函数要做成可修改的, 比如curl. malloc, realloc这种不是通用的吗?
很多库有内存池的实现 普通的malloc就得封装了,标准库的malloc之类实现不一定最佳,所以有jmalloc之类的实现,而且效率更高。标准的malloc写法,除了嵌入式之类的系统都是通用的。基本上C的标准库都需要实现这些。
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
是不通用的
要么暴露内存申请释放的函数, 由模块中申请内存.
第二种方法就windows上的做法, 内存由用户自己管理, 但是内存的大小可以通过函数查询的. 很多时候windows的API都得很蛋疼的调用两遍的