一尘不染

malloc / free是libc提供的syscall还是库例程?

linux

如果malloc / free是作为libc中的库例程实现的,那么它是在 sbrk syscall还是 mmap
syscall或其他东西之上实现的呢?

通常, sys / syscall.h 中声明的函数是否包含目标计算机中的所有系统调用?


阅读 286

收藏
2020-06-02

共1个答案

一尘不染

mallocfree是标准C库函数,其是由每个C实现来实现。

C标准仅定义了这些函数的行为方式以及预期的行为。在每种实现方式中如何实现它们。

简而言之,它们是您使用的实现的实现细节。

(“实现”由编译器,链接器,运行时库以及其他一些东西组成。)

2020-06-02