为什么无限递归会导致段错误

2024-01-07

为什么无限递归会导致段错误? 为什么堆栈溢出会导致段错误。 我正在寻找详细的解释。

int f()
{
  f();
}

int main()
{
  f();
}

每次调用 f() 时,都会增加堆栈的大小 - 这是存储返回地址的位置,以便程序知道 f() 完成时要转到哪里。由于您永远不会退出 f(),因此每次调用堆栈将至少增加一个返回地址。一旦堆栈段已满,您就会收到段错误错误。在每个操作系统中您都会得到类似的结果。

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

为什么无限递归会导致段错误 的相关文章

  • 在 CPP 类中将 C 函数声明为友元

    我需要在 C 函数中使用类的私有变量 我正在做这样的事情 class Helper private std string name public std getName return name friend extern C void in
  • 将类对象放置在向量中?

    我注意到我可以将一个类放置在一个向量中 这是我的程序 我收到以下错误 out blackjack exe blackjack obj blackjack obj error LNK2019 unresolved external symbo
  • Environment.CurrentDirectory 与 System.IO.Directory.GetCurrentDirectory

    我正在编写一个 Net WinForms 并不断在调试和发布配置之间切换 并且有一些文件我需要任一配置才能访问 我想做的是将文件放在 BIN 文件夹中的公共目录中 这样它看起来像这样 MyProject Bin CommonFiles My
  • MVC3中设置下拉列表中的所选项目

    我必须为视图中的下拉列表设置所选项目 但它不起作用 View div class editor label Html LabelFor model gt model Gender div div class editor field Htm
  • 传递 constexpr 对象

    我决定给予新的C 14的定义constexpr旋转并充分利用它 我决定编写一个小的编译时字符串解析器 然而 我正在努力保持我的对象constexpr将其传递给函数时 考虑以下代码 include
  • java中如何重新初始化int数组

    class PassingRefByVal static void Change int pArray pArray 0 888 This change affects the original element pArray new int
  • 处理右值时的 insert 与 emplace

    std string myString std unordered set
  • 即使没有异步,CallContext.LogicalGetData 也会恢复。为什么?

    我注意到CallContext LogicalSetData LogicalGetData不按照我期望的方式工作 内部设置的值async方法得到恢复即使没有异步或任何类型的线程切换 无论如何 这是一个简单的例子 using System u
  • Eigen 和 OpenMP:由于错误共享和线程开销而没有并行化

    系统规格 Intel Xeon E7 v3 处理器 4 插槽 16 核 插槽 2 线程 核心 Eigen 系列和 C 的使用 以下是代码片段的串行实现 Eigen VectorXd get Row const int j const int
  • Unix 中的访问时间是多少

    我想知道访问时间是多少 我在网上搜索但得到了相同的定义 读 被改变 我知道与touch我们可以改变它 谁能用一个例子来解释一下它是如何改变的 有没有办法在unix中获取创建日期 时间 stat结构 The stat 2 结构跟踪所有文件日期
  • C++中判断unicode字符是全角还是半角

    我正在编写一个终端 控制台 应用程序 该应用程序应该包装任意 unicode 文本 终端通常使用等宽 固定宽度 字体 因此要换行文本 只需计算字符数并观察单词是否适合一行并采取相应的操作 问题是 Unicode 表中的全角字符在终端中占用了
  • 从网页运行 ClickOnce 应用程序,无需用户操作

    我们有一个基于 Java 的 Web 应用程序以及用 C 编写的相同应用程序 如果 java 检查器发现客户端计算机上没有安装 Java 则应该运行该应用程序 这个想法是运行 C 单击一次 http en wikipedia org wik
  • C++ - 多维数组

    处理多维数组时 是否可以为数组分配两种不同的变量类型 例如你有数组int example i j 有可能吗i and j是两种完全不同的变量类型 例如 int 和 string 听起来您正在寻找 std vector
  • 将二变量 std::function 转换为单变量 std::function

    我有一个函数 它获取两个值 x 和 y 并返回结果 std function lt double double double gt mult double x double y return x y 现在我想得到一个常量 y 的单变量函数
  • 如何在 C# 中创建异步方法?

    我读过的每一篇博客文章都会告诉您如何在 C 中使用异步方法 但由于某些奇怪的原因 从未解释如何构建您自己的异步方法来使用 所以我现在有这段代码使用我的方法 private async void button1 Click object se
  • Oauth2中如何同时撤销RefreshToken和使AccessToken失效

    我正在使用 Owin Oauth2 授权和资源服务器相同 开发单页面应用程序 AngularJS Net MVC Json Rest API 的身份验证流程 我选择了 Bearer Token 路由而不是传统的 cookie session
  • 模板类中的无效数据类型生成编译时错误?

    我正在使用 C 创建一个字符串类 我希望该类仅接受数据类型 char 和 wchar t 并且我希望编译器在编译时使用 error 捕获任何无效数据类型 我不喜欢使用assert 我怎样才能做到这一点 您可以使用静态断言 促进提供一个 ht
  • 使动态创建的链接标签在 Winforms 中可点击

    我正在制作一个程序 允许用户单击由动态链接标签创建的公司名称 在我想知道如何做到这一点之前 我从未在 C 中使用过链接标签 可为特定用户生成的业务数量各不相同 因此每个用户的链接标签数量并不相同 然后我想捕获业务 ID 以进行 Json 调
  • 为什么空循环使用如此多的处理器时间?

    如果我的代码中有一个空的 while 循环 例如 while true 它将把处理器的使用率提高到大约 25 但是 如果我执行以下操作 while true Sleep 1 它只会使用大约1 那么这是为什么呢 更新 感谢所有精彩的回复 但我
  • 如何在 C 中将 char 连接到 char* ?

    我怎样才能前置char c to char myChar 我有c值为 A and myChar值为 LL 我怎样才能前置c to myChar使 ALL 这应该有效 include

随机推荐

  • 哪些文件在压缩后不会减少其大小[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我写了一个java程序用于压缩 我压缩了一些文本文件 压缩后文件大小减小 但是当我尝试压缩PDF文件时 压缩后我没有看到文件大小有任何
  • 在Python中找到第n个素数

    我用 Python 编写了以下代码段来查找第 n 个数字 我不明白为什么它不起作用 您能否只给我一个提示或指出到底是哪一点弄乱了它 而不是一个完整的解决方案 term int input What prime do you want to
  • 每个子类带有表的 Hibernate 鉴别器列

    现在我正在使用每个子类一个表的方法来建模我的数据 我的层次结构的简化是 abstract class Abstract common data stored in abstract class ConcreteTypeA1 extends
  • Oracle 连接运算符

    如何重写这个 select tab1 id tab2 id tab3 id from tab1 tab2 tab3 where tab1 col1 tab2 col1 and tab2 col2 tab3 col2 使用 OUTER JOI
  • relatedObjectDoesNotExist at /admin/login/ 用户没有个人资料

    学习 django 并创建了一个新项目 通过登录管理页面http 127 0 0 1 8000 admin http 127 0 0 1 8000 admin但是在为每个用户添加配置文件代码后 我收到以下错误 Error 用户 模型 py
  • 如何使用react hook实现多个复选框

    我想使用react hook 在我的HTML 页面上实现多个复选框 我尝试使用这个 URL 来实现 https medium com Zh0uzi my concerns with react hooks 6afda0acc672 http
  • 使用 WMI 查询时出现 perfmon 计数器值问题

    我正在构建 EXE 并通过它获取应用程序的 perfmon 计数器以使用 WMI 查询进行监控 我正在使用本地计算机对其进行测试 似乎我的代码逻辑为我提供了一些计数器的错误值 Below is my code for one of the
  • 使用 request 和 multiparty 进行 multipart/form-data 时,出现错误:uncaughtException:source.on 不是函数

    我正在尝试将数据从我的节点应用程序发送到第 3 方 HTTP 端点 我正在使用多方模块解析来自客户端的请求对象上的数据 并通过请求模块发送数据 我收到错误 错误 uncaughtException source on 不是函数 var re
  • Microsoft.SqlServer.Types 程序集会导致地理数据类型出现问题。怎么修?

    将我的项目升级并更改为目标网络 NET 4 8 并将使用的 Nuget 包升级到包管理器中的最新版本后 这带来了一系列问题 最紧迫的是无法在 DataReader 和实体框架中使用地理数据类型 数据读取组件的错误是 System Inval
  • WCF 服务库与类库项目类型

    WCF 服务库有哪些常规类库不具备的功能 编辑 我发布了我自己的答案 我错过了什么吗 它们从根本上来说只是添加了一些模板类的类库吗 我创建了两者并进行了比较 这就是我发现的 WCF服务库 添加对的引用System Runtime Seria
  • XSLT命名空间和默认命名空间问题[重复]

    这个问题在这里已经有答案了 我是 XSLT 转换的新手 我的输出 xml 中存在名称空间映射问题 输入 XML 是
  • 无法解析的标识符 NavigationButton 错误

    我是 swiftUI 的新手 只是想了解基础知识 我只是想创建一个新视图和一个将移动到该视图的按钮 当我使用下面的代码时 会出现错误 使用未解析的标识符 NavigationButton 尽管该错误是由 Xcode 生成的 import S
  • 在 SwiftUI 中使用选项卡栏弹出到根视图

    在 SwiftUI 中 有没有办法像大多数 iOS 应用程序一样通过点击选项卡栏来弹出到根视图 这是一个example https i stack imgur com RBEvL gif的预期行为 我尝试使用以编程方式弹出视图simulta
  • 搜索并突出显示 UIView 中呈现的 PDF 中的文本

    我用过眉叶 67b10ed https nodeload github com brow leaves zipball master在 UIView 中渲染 PDF 现在我的需要是搜索并突出显示文本 我已经设法获得 UIView 上文本的确
  • 代码签名错误

    我工作的公司有一个基础应用程序 他们重新设计并出售给不同的企业 我重新设计了该应用程序 并尝试将其上传到他们的帐户 但得到 BEROR Code Sign error The identity iPhone Distribution doe
  • 使用cucumber测试时sql错误无法在事务内启动事务

    我是黄瓜新手 正在学习 BDD 当我尝试填写表单并创建记录时 会显示此 sqlite 错误 尽管当我在浏览器中手动尝试代码时没有错误 我正在使用 Rails 4 这是我的控制器代码 class Admin ItemsController l
  • JSqlParser - 漂亮的打印 where 子句

    我已经开始使用 JSqlParser 我可以解析Where 子句 但我无法进一步使用它 JSqlParser github 链接 https github com JSQLParser JSqlParser 事实上 我曾尝试覆盖访问方法 但
  • 始终返回相同布尔值的 Python 函数

    在函数式编程中有时useful有一个总是返回的函数True or False 对于每个参数 甚至多个参数 某些模块中定义的内置函数或函数是否具有这种确切的行为 我不知道有任何内置的 但你可以将它们定义为 false lambda False
  • 如何在 Eclipse 动态 Web 项目中添加类路径条目作为发布/导出依赖项?

    我使用成功创建了一个项目检票口快速入门 http wicket apache org start quickstart html并通过运行将其转换为 Eclipse 动态 Web 项目 mvn eclipse clean eclipse e
  • 为什么无限递归会导致段错误

    为什么无限递归会导致段错误 为什么堆栈溢出会导致段错误 我正在寻找详细的解释 int f f int main f 每次调用 f 时 都会增加堆栈的大小 这是存储返回地址的位置 以便程序知道 f 完成时要转到哪里 由于您永远不会退出 f 因