腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
在
Chez
方案
中
关闭
尾部
调用
优化
以
进行
调试
、
、
我正在用
Chez
Scheme
调试
以下程序。这似乎是由于Scheme的TCO (
尾部
调用
优化
)阻止
调试
器检查准确的
调用
栈帧。 如果我不将
调用
(proc3 x2)和(proc2 x1)放在
尾部
位置,
调试
器就可以正常打印出精确的
调用
栈帧。system continuation in new-cafe> #<continuation in proc3>
浏览 38
提问于2021-07-27
得票数 0
回答已采纳
2
回答
ES6尾递归
优化
堆栈溢出
、
、
、
、
在
阅读了es6
中
递归
尾部
调用
优化
的之后,我一直
在
尝试重新创建他详细描述的递归阶乘函数的“零堆栈”执行。使用Chrome
调试
器
在
堆栈帧之间单步执行,我发现没有
进行
尾部
优化
,并且为每个递归创建了一个堆栈帧。 我还尝试通过
在
没有
调试
器的情况下
调用
函数,而是将100000传递给阶乘函数来测试
优化
。这会抛出一个“最大堆栈”错误,这意味着它
浏览 0
提问于2017-03-14
得票数 49
回答已采纳
1
回答
带尾递归
优化
的C#编译?
、
、
、
基于堆栈溢出的丰富内容,我一直
在
回答尾递归
优化
是否针对特定的c#代码。这些问题中有几个似乎是在谈论 这是随机发生
浏览 1
提问于2015-04-10
得票数 13
回答已采纳
1
回答
用于
在
/O1或更高版本禁用
尾部
调用
优化
的cl.exe标志或设置(等同于gcc -fno-
优化
-同级
调用
)
、
我
在
一个项目中工作,在这个项目中我们维护自己的堆栈爬虫(出于各种原因)。我们需要能够
以
一定的可靠性爬行堆栈。目前,我们遇到了一个问题,即函数
尾部
调用
我们感兴趣的函数,而我们的堆栈跟踪跳过了
在
调试
构建(/Od)中出现的帧。我们已经禁用了帧指针
优化
和内联(/Oy-和/Ob0),所以我们可以获得更好的堆栈跟踪,但我们仍然希望能够打开一些
优化
(/O1)来使代码更快。然而,
尾部
调用
仍然会
浏览 0
提问于2011-12-20
得票数 2
5
回答
哪些C++编译器会
进行
尾递归
优化
?
、
、
在我看来,
在
C和C++
中
同时
进行
尾递归
优化
会非常好,但在
调试
过程
中
,我似乎从来没有看到一个框架堆栈来表示这种
优化
。这很好,因为堆栈告诉我递归有多深。然而,
优化
也是很好的。有没有C++编译器做过这样的
优化
?为什么?为什么不行?微软-O3的:/O2或 GCC:-O2或MSVC 如何检查编译器
在
特定情况下是否已经这样做了?对于MSVC的,启用PDB输出
以
能够跟踪代
浏览 166
提问于2008-08-29
得票数 160
回答已采纳
1
回答
Python尾递归"Hack“使用While循环
、
、
我见过一些使用while True循环让Python
进行
尾部
调用
优化
的例子。例如。exponent == 0: exponent, acc = exponent - 1, acc * base 我很想知道这种技术是否适用于Python
中
的所有/大多数递归算法,以及
在
以
这种方式
优化
递归算法时是否有任何缺点或“陷阱”需要注意?
浏览 2
提问于2020-09-08
得票数 2
3
回答
生成
尾部
调用
操作码
、
、
、
、
出于好奇,我尝试使用C#生成一个
尾部
调用
操作码。(i == 0) return acc; } 如果我
在
发行版
中
构建它并在没有
调试
的情况下运行它
在
没有
优化
的情况下
调试
或运行它,我确实得到了堆栈溢出,这意味着
在
启用
优化
的情况下,
尾部
调用
正在工
浏览 3
提问于2013-04-08
得票数 42
回答已采纳
2
回答
Scheme
中
的递归函数总是
尾部
调用
优化
的吗?
、
我
在
Scheme
中
读到了一些关于
尾部
调用
优化
的内容。但是我不确定我是否理解了
尾部
调用
的概念。如果我有这样的代码: (if (= n 0) (* n (fac (- n 1)))))(define (factorial n) (
浏览 2
提问于2011-02-18
得票数 5
回答已采纳
2
回答
(
Chez
)计划基准?
、
、
、
、
既然
Chez
方案
是开源的,我想知道它在性能上如何与Racket和其他
方案
或语言相比较,以便人们能够
在
自己的项目中做出明智的选择。 问题:只有敲诈,有问题的比较(例如,Python不允许使用Numpy,这显然会有帮助,而Racket正在
调用<
浏览 8
提问于2017-07-31
得票数 12
回答已采纳
1
回答
如何在ES5
中
对递归匿名函数应用TCO(
尾部
调用
优化
、
、
、
如果我可以tco一个命名的递归函数,应该有一种方法可以tco匿名递归function.If,下面是我的递归函数和TCO函数,请解释一下如何做到这一点。 var args = arguments; console.log("break statement"); return
浏览 0
提问于2016-09-19
得票数 3
1
回答
为什么在这里使用boost::multiprecision::cpp_int会影响
尾部
调用
优化
、
、
我有一些模板化的代码,编译器可以对大多数数据类型
进行
尾部
调用
优化
,但不能对其他类型
进行
优化
。tailPow(T x, U y) T rv = Identity<T>; return rv;参数T的类型似乎对
尾部
调用
优化
没有影响,我尝试过的任何类型都可以使用参数U的正确类型来
尾部
调用
优化
浏览 0
提问于2017-02-07
得票数 1
3
回答
在
Clojure中一起使用Default可选参数和recur
、
、
我可以设置默认参数并使用它
进行
常规递归,但由于某些原因,我不能使用recur
进行
尾部
优化
……我一直收到一个java.lang.UnsupportedOperationException: nth not例如,对于
尾部
调用
Factorial,以下是有效的方法,但没有针对
尾部
调用
递归
进行
优化
,并且对于大型递归堆栈将失败。optional]] (foo (
浏览 7
提问于2016-09-30
得票数 1
1
回答
在
非常特定的配置
中
引发的异常。
在这种情况下,如果我
在
发布模式下切换配置,
以
x86模式
进行
测试,并运行测试(如果
调试
我的测试,它就能工作),它会抛出一个异常,说明它无法解决控制器问题。更改上述配置
中
的任何参数,然后完美地工作(我正在使用VS2012)。 我知道这是非常少的信息,不能要求一个解决办法,但任何可能是错误的线索,将不胜感激!
浏览 2
提问于2013-09-18
得票数 0
回答已采纳
1
回答
在
Visual Studio
中
禁用对函数的
尾部
调用
、
、
、
如何在Visual Studio
中
禁用对特定函数的
尾部
调用
? 之所以需要这样做,是因为我有一个函数,它会在发生错误时中断我使用的
调试
器,并且我需要查看是哪个函数
调用
了它。我无法更改全局
优化
选项,因为项目
在
没有
优化
的情况下运行速度太慢。
浏览 0
提问于2016-06-11
得票数 1
2
回答
如何知道一个函数
在
F#
中
是否是尾递归的
、
、
、
有没有办法
在
不使用Reflector的情况下找出答案(我没有使用Reflector的经验,也不知道C#)?另外,
在
F# std lib
中
是否有一个函数可以多次运行一个给定的函数,每次都将最后一个输出作为输入?假设我有一个字符串,我想在这个字符串上运行一个函数,然后
在
结果字符串上再次运行它,依此类推……
浏览 0
提问于2009-04-30
得票数 16
回答已采纳
8
回答
C
尾部
调用
优化
、
、
、
我经常听到人们说C不执行
尾部
调用
消除。尽管该标准不能保证它,但在实践
中
,它不是由任何像样的实现来执行的吗?假设您只针对成熟的、实现良好的编译器,并不关心为晦涩的平台编写的原始编译器的绝对最大可移植性,那么
在
C
中
依赖
尾部
调用
消除是合理的吗? 此外,将
尾部
调用
优化
留在标准之外的理由是什么?
浏览 1
提问于2010-08-19
得票数 33
回答已采纳
1
回答
错误时的递归
调用
、
、
、
我正在使用启用了
尾部
调用
优化
的SBCL 1.3.8,并验证了它在一个简单的
尾部
递归函数上工作正常。
在
我尝试的第一种方法
中
,m0被
调用
了两次。一次作为原始
调用
的结果,一次作为unwind-protect
中
的清理表单的一部分。
在
第二个正文中遇到错误后,它不能正确执行清理表单。我期望函数一次又一次地
调用
自己,并遇到堆栈溢出,或者让SBCL能够将
调用
识别为
尾部</em
浏览 0
提问于2016-08-30
得票数 2
1
回答
显式堆栈是否比递归更好
、
、
我们可以使用堆栈和递归
以
相反的顺序打印链表。我的老师说使用显式堆栈更好,因为递归也使用堆栈,但必须维护许多其他参数。即使我们使用stack
中
的std::stack,引用外部库不也很耗时吗?与使用递归解决
方案
相比,使用显式堆栈如何节省时间/空间?
浏览 34
提问于2020-10-21
得票数 0
回答已采纳
5
回答
在
Erlang中使用大量的尾递归会降低速度吗?
、
所有的函数
调用
和它们对堆栈的影响会怎样呢?或者,尾递归会否定大部分吗?
浏览 0
提问于2009-07-09
得票数 8
回答已采纳
2
回答
这个F#函数是不是尾递归函数,其中递归函数
在
函数中被多次
调用
?
、
、
、
我的理解是,
尾部
调用
优化
的函数应该在最后一次
调用
中
返回一个累加值,而不需要任何进一步的计算。例如,使用阶乘函数很容易理解,它被
优化
为循环。但在其他情况下并不总是很明显,例如在下面的情况下,最后一次
调用
是什么?有很多这样的函数,因为函数
在
主体中被递归
调用
不止一次。
浏览 0
提问于2012-05-29
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
Golang 学习笔记-2:控制流
C语言编程二级上机题学习,做题方法和技巧总结
Java web 初始化操作
使用 ABAP 事物码 SAT 对从浏览器打开的 SAP应用进行性能监控和测量
详解PHP7.3
热门
标签
更多标签
云服务器
ICP备案
实时音视频
对象存储
即时通信 IM
活动推荐
运营活动
广告
关闭
领券