如何编写C函数来打印跟踪,直到调用该函数。 我不想使用任何库。我想编写自己的代码来完成这项工作 任何人都可以请输入来完成这项任务吗?
答案 0 :(得分:3)
您不能在可移植C中编写这样的函数,如果不了解编译器使用的特定平台和调用约定,则无法编写它。因此,您的问题(目前)缺乏回答所需的所有细节。
如果您想了解backtrace()的工作原理,您可以研究任意数量的可用实现。
如果你想从头开始实现(作业?),请研究你的平台的调用约定。
答案 1 :(得分:1)
没有可移植的方法可以做到这一点,但是gcc提供了一种半途而废的方式来与__builtin_return_address
和朋友一起完成。