[英]Getline with g++ and gcc
抱歉,如果它已经在某个地方,我没有找到它。
我的简单程序是:
int main(){
size_t n = 0;
char *line = NULL;
getline(&line,&n,stdin);
free(line);
return 0;
}
Valgrind输出:
==7300== HEAP SUMMARY:
==7300== in use at exit: 72,704 bytes in 1 blocks
==7300== total heap usage: 2 allocs, 1 frees, 72,824 bytes allocated
==7300==
我需要使用g++ -g -o -Wall -pedantic
进行编译。 当我使用gcc
进行gcc
,问题消失了。
我想问一下为什么getline分配2个内存块,以及如何释放另一个内存块。
非常感谢!
此问题是由gcc版本5引起的,该版本有点问题。 更新版本6有所帮助。 –购物车
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.