尾递归优化发生在 Visual Studio 10 x64 调试中,但不在发布中?

2023-11-27

最初我在 x86 模式下遇到了 stackoverflow 异常。由于我注意到 x64 会优化尾递归,因此我转而在 x64 中进行编译。和它在调试模式下运行得很好..但是,当我尝试运行发布代码时..它再次抛出stackoverflow..有什么可能的原因吗?


何时应用尾递归优化的规则是复杂且不断变化的。

我强烈推荐你don't从正确性的角度来看,依赖尾递归。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尾递归优化发生在 Visual Studio 10 x64 调试中,但不在发布中? 的相关文章

随机推荐

  • Accepts_nested_attributes_for:我做错了什么

    我尝试在rails4中创建一对多连接 但是 虽然我没有收到错误 但嵌套属性未存储 我究竟做错了什么 车站模型 class Station lt ActiveRecord Base has many adresses accepts nest
  • 更改 DEFAULT_AUTO_FIELD 时迁移依赖项模型

    我正在使用 Django 3 2 我已更改将此行添加到settings py DEFAULT AUTO FIELD django db models BigAutoField 然后我运行这些命令 python manage py makem
  • 创建满足给定条件的连续天数组

    我在 SQL Server 中有以下数据结构表 ID Date Allocation 1 2012 01 01 0 2 2012 01 02 2 3 2012 01 03 0 4 2012 01 04 0 5 2012 01 05 0 6
  • 引起一致 GC 流失的技术

    我正在寻找基准测试 同时应对大量正在进行的垃圾收集 我之前已经对其在稳定的单线程运行中的行为进行了基准测试 现在我想在压力更大的 JVM 中进行相同的测试 本质上 我希望后台线程以相当一致的速度创建和销毁对象 我正在寻找有关如何实现稳定但
  • git 子模块到底是如何工作的

    The gitmodulefile 仅指定模块存储库 url 如何git submodule知道要下载哪个版本吗 它似乎总是检查最新版本 那么 开发者如何保证主项目和子模块之间的兼容性呢 您的子模块被表示为具有特殊模式的特殊条目 称为git
  • 使用 Dijkstra 算法寻找最短路径

    我需要找到图的两个顶点之间的最短路线 我有一个矩阵 其中包含所有权重 我该怎么做 目前 我有以下代码 private int Dijkstra int start int end bool done new bool 8 int paren
  • 解析 LESS 客户端

    我可以解析 LESS 客户端并返回结果吗 我目前正在按照文档中的建议使用 即包含较少的文件 然后缩小较少的解析器 我希望能够返回原始 css 以便我可以将其保存为 css 文件 我不想安装node js之类的东西 我想要一个客户端解决方案
  • 如何“连接” boost::mpl::向量

    我必须使用不同的向量 mpl vector
  • git log --decorate 输出的差异: (HEAD -> master) 与 (HEAD, master)

    当我获取 GIT 存储库的日志时 git log oneline decorate graph 输出是这样的 44025ed HEAD gt master second commit adf2dbb first commmit 在另一个仓库
  • 如何获得给定日期的星期几?

    我想了解以下内容 给定日期 datetime对象 对应的星期几是哪一天 例如 星期日是第一天 星期一 第二天 等等 然后如果输入类似于今天的日期 Example gt gt gt today datetime datetime 2017 1
  • 通过子字符串快速过滤字符串集合?

    您知道一种快速过滤字符串列表以获得包含指定字符串的子集的方法吗 明显的实现是迭代列表 检查每个字符串是否包含搜索字符串 有没有办法对字符串列表建立索引 以便搜索速度更快 维基百科文章列出了几种索引子字符串的方法 你有 后缀树 后缀数组 N
  • MongoDB:插入具有特定ID而不是自动生成的ObjectID的文档

    我需要使用java在MongoDB上插入文档 使用特定的id而不是自动生成的ObjectID 要插入一个文档或更新 如果存在 我尝试使用findOne搜索id 如果不存在则insertid 然后findAndModify 它有效 但我不认为
  • Bash 命令 :(){ :|:& };: 将生成进程直至内核死亡。你能解释一下语法吗?

    我在看这一页并且无法理解这是如何工作的 该命令 以指数方式生成子进程 直到您的盒子锁定 但为什么 我不太了解的是冒号 user host 定义一个名为的函数 它会自行生成 两次 一个管道连接到另一个管道 并自行设置背景 带换行符 重命名 功
  • 牛轧糖中的 TransactionTooLargeException

    例外 05 12 15 42 45 791 11043 11043 E UncaughtException java lang RuntimeException android os TransactionTooLargeException
  • 如何设置颜色的 R、G、B 和 Alpha 分量?

    有 3 个整数值组成 RGB 值 还有颜色的 Alpha 分量值 我如何设置这 4 个值以获得所需的颜色 您可以创建一个Color对象 值应该是ints之间0 255 or floats之间0f 1f Color c new Color r
  • Python 文档字符串类型注释——类,而不是实例?

    假设我有 class A object pass class B A pass 我想声明一个以 A 的子类作为参数的函数 def do something klass type klass WHAT HERE pass 我应该在 WHAT
  • 如何在 Spark 中动态切片数组列?

    Spark 2 4引入了新的SQL功能slice 可用于从数组列中提取一定范围的元素 我想根据一个整数列动态定义每行的范围 该列具有我想从该列中选取的元素数量 但是 简单地将列传递给切片函数会失败 该函数似乎需要整数作为起始值和结束值 有没
  • 在 Ruby on Rails 中获取地址簿以获取 Gmail、Yahoo、Hotmail、Twitter 和 Facebook 联系人列表时出现问题 [已关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 来到了Contacts搜索
  • Android:每 1 分钟更新一次 ListView 项目

    我的应用程序中有一个自定义 ListView 其中包含一个 ImageView 和 3 5 个 TextView 1 个 TextView 显示了时间间隔当前时间和指定时间对于该 ListView 项目 Like 发表于 5 分钟前 问题是
  • 尾递归优化发生在 Visual Studio 10 x64 调试中,但不在发布中?

    最初我在 x86 模式下遇到了 stackoverflow 异常 由于我注意到 x64 会优化尾递归 因此我转而在 x64 中进行编译 和它在调试模式下运行得很好 但是 当我尝试运行发布代码时 它再次抛出stackoverflow 有什么可