`goto LABEL` 会导致内存泄漏吗?
Can `goto LABEL` cause a memory leak?
将 goto
与标签一起使用会导致内存泄漏吗?我在 documentation for goto
中找到的所有似乎相关的是:
The goto LABEL
form finds the statement labeled with LABEL and resumes execution there.
使用goto LABEL
安全吗?
经过 1 分钟的测试,答案似乎是:是 否(请参阅下面的更新)
在 运行 时观看 top
,%MEM
不断递增
{
THIS:
my $x = 1;
goto THIS;
}
这没有表现出相同的递增 %MEM
计数器
while (1) {
my $x = 1;
}
更新
我误解了这个问题。我对这个问题的看法是,是否会使用 goto
为已经存在于该词法范围内的词法变量分配内存,我的测试似乎是肯定的。严格来说,这不是内存泄漏。如果 perl 退出这个词法范围,分配的 space 将被释放。
将 goto
与标签一起使用会导致内存泄漏吗?我在 documentation for goto
中找到的所有似乎相关的是:
The
goto LABEL
form finds the statement labeled with LABEL and resumes execution there.
使用goto LABEL
安全吗?
经过 1 分钟的测试,答案似乎是:是 否(请参阅下面的更新)
在 运行 时观看 top
,%MEM
不断递增
{
THIS:
my $x = 1;
goto THIS;
}
这没有表现出相同的递增 %MEM
计数器
while (1) {
my $x = 1;
}
更新
我误解了这个问题。我对这个问题的看法是,是否会使用 goto
为已经存在于该词法范围内的词法变量分配内存,我的测试似乎是肯定的。严格来说,这不是内存泄漏。如果 perl 退出这个词法范围,分配的 space 将被释放。