0

我试图理解 Kernighan 和 Ritchie 的书“The C Programming Language, 2nd edition”中显示的存储分配器程序。我想我理解得最多,但是当我在Windows 8.1 x86_64 with TDM GCC version 5.1.0. 它输出错误undefined reference to 'sbrk'。这些是我的包括:

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>

我已经搜索了很多,但没有其他答案对我有帮助。它应该在里面unistd.h,但它不是。是不是因为它是系统调用,所以在 Windows 中找不到?怎么了?

4

1 回答 1

2

是的,sbrk是一个unix系统调用。它在 Windows 上不可用。

(旁注:函数本身不在标头内;标头通常只包含声明。实际的函数在某个库中(在这种情况下为 libc)。)

于 2017-07-11T17:18:26.410 回答