C语言 是否有任何其他半/便携式方法来动态分配内存



this:

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

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

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

但是,我很好奇,是否有任何其他便携式或半便携式*实现来获取动态分配的内存?我发现 C 语言中内存分配的技巧和技巧对"谷歌"来说是一个很难的话题。

注意:这不是任何"必需的",因此对答案没有限制。

*半便携式,意思是"如果你按照我的方式编译,这将起作用"

POSIX 有

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

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

这应该符合半便携式的条件。

相关内容

  • 没有找到相关文章

最新更新