腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
2
回答
使用尾
递归
实现Tak
函数
、
、
、
是否有可能实现
尾部
递归
在C/C++中的一种方式,以便使
gcc
/g++可以执行
尾部
递归
优化
? 我不确定嵌套的
递归
函数
调用
是否会使编译器感到困惑。
浏览 0
提问于2013-11-14
得票数 0
1
回答
GCC
没有
尾部
调用
优化
递归
函数
、
、
我已经为我的uint128结构编写了一个十六进制解析
函数
,它内部只有两个uint64_t- hi和lo。previous_value, 4), (uint64_t)current_digit),} 由于某些原因,即使
递归
调用
在
函数
结束时被明确地执行了一次,
gcc
也
没有
对
函数
进行
优化
。解析
函数
中使用的其他
函数
没有
任
浏览 25
提问于2020-11-25
得票数 3
回答已采纳
1
回答
不进行
尾部
调用
优化
的尾
递归
、
、
假设我们有两个版本的
递归
函数
,其中一个是尾
递归
函数
。如果所使用的语言
没有
尾部
调用
优化
,那么使用
函数
尾
递归
有什么好处吗?据我所知,在
没有
优化
的情况下,
函数
的每个版本(
尾部
和非
尾部
)将使用相同数量的堆栈框架(在大多数情况下)。我知道在某些情况下,例如Fibonacci
函数
,即使
没有
尾部</
浏览 14
提问于2021-03-01
得票数 0
1
回答
如何启用
递归
函数
来避免堆栈溢出?
、
如果我在Java中有一个
递归
函数
,我可以用下面的代码无限地
调用
它: void recfunction() recfunction();} 我如何在C++
浏览 30
提问于2019-04-18
得票数 0
回答已采纳
6
回答
如何检查
gcc
是否正在执行尾
递归
优化
?
、
、
如何判断
gcc
(更具体地说,g++)是否在某个特定
函数
中
优化
尾
递归
?(因为它出现了几次:我不想测试
gcc
是否能在总体上
优化
尾部
递归
。我想知道它是否
优化
了我的尾
递归
函数
。)如果您的回答是“查看生成的汇编程序”,我想确切地知道我在寻找什么,以及我是否可以编写一个简单的程序来检查汇编程序,看看是否存在
优化
。 PS。我知道这是5个月前问题的一部分。然而,我认为这部分问题
没有</e
浏览 5
提问于2009-01-29
得票数 69
回答已采纳
2
回答
LLVM
尾部
调用
优化
、
、
以下是我对事物的理解:在使用fastcc、GHC或HiPE
调用
约定时,LLVM实现了
递归
尾部
调用
优化
。
浏览 0
提问于2013-09-04
得票数 7
回答已采纳
3
回答
尾部
调用
和
尾部
递归
有什么区别?
、
我知道尾
递归
是
函数
对自身进行
尾部
调用
的一种特殊情况。但是我不明白
尾部
调用
和
尾部
递归
有什么不同。在具有实现TCO (
尾部
调用
优化
)的“正确
尾部
递归
”语言中,如Scheme,这意味着
尾部
调用
和
尾部
递归
不会消耗堆栈或其他资源。在编译器不能
优化
尾
递归
语言中,程序可能
浏览 0
提问于2012-08-21
得票数 19
5
回答
哪些C++编译器会进行尾
递归
优化
?
、
、
在我看来,在C和C++中同时进行尾
递归
优化
会非常好,但在调试过程中,我似乎从来
没有
看到一个框架堆栈来表示这种
优化
。这很好,因为堆栈告诉我
递归
有多深。然而,
优化
也是很好的。有
没有
C++编译器做过这样的
优化
?为什么?为什么不行?微软-O3的:/O2或
GCC
:-O2或MSVC 如何检查编译器在特定情况下是否已经这样做了?我仍然建议如何确定某个
函数
是否被编译器像这样
优化</
浏览 166
提问于2008-08-29
得票数 160
回答已采纳
1
回答
chapel是否实现了
尾部
调用
优化
?
、
、
Chapel支持
递归
函数
调用
,但它是否支持
尾部
调用
优化
,以便
尾部
递归
不使用额外的堆栈框架?
浏览 10
提问于2016-09-08
得票数 3
2
回答
在实现TCO的语言中限制尾
递归
中的
递归
深度?
、
在实现
尾部
调用
优化
的语言中,
递归
深度的理论/实践限制是什么?(请假设
递归
函数
是正确的
尾部
调用
)。 我的猜测是,理论上的限制是无,因为
没有
递归
过程,即使它是
递归
过程。
浏览 1
提问于2009-05-15
得票数 0
回答已采纳
2
回答
尾叫
优化
是否适用于这个
函数
?
、
、
、
如果bar
调用
bar(i/2),如果我是偶数,而bar(3*i + 1),则
递归
函数
条将尾
递归
。但是,如果堆栈大小和布局完全不同,并且被
调用
者可能是具有不同堆栈布局的多个不同
函数
之一,那么会发生什么呢? 第一,会否是
尾部
递归
?(现在,我了解了尾“
调用
”
优化
可以应用于但这不是尾“
递归
”)。第二,
gcc
、clang等主要编译器会不会
优化
这种
尾部</e
浏览 0
提问于2018-03-21
得票数 1
回答已采纳
8
回答
为什么这段代码在java中会耗尽内存,而在c中却不会?
、
、
在java或c++中,我都可以编写这样的
函数
。
浏览 1
提问于2010-02-19
得票数 9
回答已采纳
2
回答
ES6尾
递归
优化
堆栈溢出
、
、
、
、
在阅读了es6中
递归
尾部
调用
优化
的之后,我一直在尝试重新创建他详细描述的
递归
阶乘
函数
的“零堆栈”执行。使用Chrome调试器在堆栈帧之间单步执行,我发现
没有
进行
尾部
优化
,并且为每个
递归
创建了一个堆栈帧。 我还尝试通过在
没有
调试器的情况下
调用
函数
,而是将100000传递给阶乘
函数
来测试
优化
。这会抛出一个“最大堆栈”错误,这意味着它
浏览 0
提问于2017-03-14
得票数 49
回答已采纳
6
回答
c++中的
递归
函数
行为
、
我知道
递归
function.....but的基本定义,我想知道它对内存的影响??为什么
没有
选择它而不是循环或迭代?
浏览 1
提问于2010-12-02
得票数 1
回答已采纳
4
回答
尾部
呼叫
优化
(TCO)后的性能测量
我的问题是:3.)假设一些编译器做了TCO,那么我们启用它,那么怎样才能发现
浏览 0
提问于2008-11-22
得票数 0
7
回答
有
没有
可能在
GCC
/Clang上强制进行尾调优?
、
、
我尽量用C语言写一个
函数
式的程序。我知道像
GCC
/Clang这样优秀的编译器会默默地做
尾部
调用
优化
,但这并不能保证。有
没有
在编译器上强制进行
尾部
调用
优化
的选项?(当然,只有在自身结束时才会
调用
)
浏览 2
提问于2011-01-25
得票数 10
回答已采纳
1
回答
gcc
/g++中的尾
递归
、
、
、
我试着搜索,但找不到:为了让
gcc
优化
尾
递归
,
函数
的必要条件是什么?有
没有
包含最重要案例的参考文献或列表?由于这是特定于版本的,我的兴趣是4.6.3或更高版本(越新越好)。
浏览 0
提问于2013-04-09
得票数 8
回答已采纳
6
回答
关于
调用
自身的
函数
的堆栈重用?
、
、
、
、
如果一个
函数
在定义变量的同时
调用
自己,会不会导致堆栈溢出?在
gcc
中有
没有
重用相同堆栈的选项。void funcnew(void) int a=10; funcnew(); } 一个
函数
可以重用它之前使用的栈帧吗?
gcc
在尾
递归
中重用同一帧的选项是什么??
浏览 0
提问于2010-02-12
得票数 7
4
回答
在C#中只编写静态方法等同于无副作用的编程吗?
、
、
、
我有两个问题,源于观察到的C#静态方法的行为(我可能误解了它): 首先:通过在幕后实现静态方法,
递归
静态方法在某种意义上会被
尾部
调用
优化
吗?第二:用静态方法编写整个应用程序,
没有
超出局部作用域的变量,这是否等同于
函数
式编程?我想知道是因为我还
没有
理解这个“
没有
副作用”的术语,我经常听到关于
函数
式编程的说法。编辑:让我提一下,我确实在正常的C# OO方法中使用并理解为什么以及何时使用静态方法,我也理解
尾部
调用<
浏览 3
提问于2011-08-01
得票数 6
回答已采纳
3
回答
是否有可能在WebKit中检测
尾部
调用
优化
?
、
、
、
我有一个
递归
函数
,耗尽
调用
堆栈是我有时会遇到的问题。我知道我可以使用streams,promises和setTimeout,但我只想编写触发
尾部
调用
优化
的代码。到目前为止,似乎只有实现了
尾部
调用
优化
(TCO)。除了了解原理之外,有
没有
办法检查我的代码是否会触发TCO,无论是使用devtools还是通过检查Webkit编译器的输出?
浏览 0
提问于2015-11-27
得票数 7
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
腾讯会议
云直播
对象存储
活动推荐
运营活动
广告
关闭
领券