2011-08-15 27 views
0

如何寫一個C函數打印回溯到那函數被調用。 我不希望使用任何library.I想我自己寫的代碼來完成這項工作。
任何人都可以請輸入來實現這一任務呢?怎麼寫我自己的功能,打印回溯

+0

您正在使用什麼平臺和編譯器? – Mat

+2

在便攜式C中不可能,除非您測試源代碼。 –

回答

1

有做到這一點沒有可移植的方法,但GCC提供了一箇中途清潔方式與__builtin_return_address和朋友去做。

3

你不能寫在移植的C這樣的功能,您可以在不知道具體的平臺,並要求你的編譯器使用的約定不寫。因此,你的問題(目前)缺乏所有需要回答的細節。

如果你想知道回溯()如何在一般的工作,你可以學習任意數量的可用的實現。

如果你想從頭開始實現一個(作業了嗎?),學習用平臺的調用約定。