我只是做了自己的醜:我想跟蹤進程的執行,爲了做到這一點,我寫了一個函數trace()
,其中包含下面的代碼行:如何找到父函數的__FUNCTION__,__LINE__和__FILE__?
printf("%s[%s:%d], %s\n", __FUNCTION__, __FILE__, __LINE__, s_message);
我希望看到我在哪個函數中,哪個文件和該文件中的哪一行,但是我只是看到了我編寫'trace()'函數的那個文件的信息。
是否有可能,是否有一些#define
左右,告訴C編譯器從調用函數的父級中提取宏?
使'trace()'成爲一個宏。 – tkausl
將trace作爲一個宏將是明顯的解決方案。如果你不知道如何,請閱讀宏如何工作和定義。並且不要垃圾郵件標籤! C++不是C! – Olaf
相關:http://stackoverflow.com/a/18658873/694576 – alk