有没有其他半/便携式方式动态分配内存?

时间:2012-12-13 15:26:45

标签: c memory malloc dynamic-memory-allocation

这样:

char *buf = NULL;
scanf("%ms", &buf);

将获得动态分配的char缓冲区。我知道这仅限于使用Gcc编译的代码(特别是glibc的2.7版本)。

我也知道“正确”和便携的方式是只使用malloc()(和朋友)来获取内存。

我很好奇,是否还有其他便携式或半便携式 * 实现来获取动态分配的内存?我发现C中的内存分配技巧和提示是“Google”的难题。

注意:这对任何事情都不是“必需的”,因此答案没有限制。

*半便携式意思是“如果你按照我的方式编译,这将有效”

1 个答案:

答案 0 :(得分:1)

POSIX

ssize_t getline(char **lineptr, size_t *n, FILE *stream);

ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream);

应符合半便携式标准。