C函数调用分段错误[重复]
Posted
技术标签:
【中文标题】C函数调用分段错误[重复]【英文标题】:C function call segmentation fault [duplicate] 【发布时间】:2021-04-05 18:07:58 【问题描述】:递归指针函数时遇到段错误。
#include <stdio.h>
int func(int(*function)())
(*function)();
func(function);
;
int function()
;
int main()
func(function);
;
在编译和执行时,递归函数调用会持续几个周期,然后抛出一个段错误。有关如何解决此问题的任何想法?
【问题讨论】:
它是如何停止的? 更新:只需将 -O2 添加到 gcc args 即可修复它 可能是优化器简单地将您的代码一起删除。由于它没有可见的效果,因此很容易被完全忽略。如果它运行,它将永远运行。 【参考方案1】:很可能,您只是用完了堆栈帧中的空间,因为您的函数将永远递归。
【讨论】:
以上是关于C函数调用分段错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章