可以做到的,參考一下backtrace_symbols的實現(xiàn)以及相關(guān)原理,這里面比較復(fù)雜,也比較底層,一兩句話說不清楚
公司主營業(yè)務(wù):成都網(wǎng)站設(shè)計、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)推出信宜免費做網(wǎng)站回饋大家。
你要是想通過_FUNCTION_這種方式來搞的話,可以通過如下方式:
#define m_fun(args) fun(__FILE__,__LINE__, args)
進(jìn)行相應(yīng)的替換即可
1、有些應(yīng)用中perl的速度比較慢,但是如果和c結(jié)合起來,就可以解決這樣的問題了。
2、perl和c結(jié)合有三種辦法,第一是用c來寫xs制作perl模塊,再在perl代碼中加載,這個比較簡單,CU和IBM都有文檔看,我就不寫了。
2、在C中嵌入perl腳本,這個對我來說沒什么用,我還沒看。
3、就是本文要說的,在Perl中嵌入C代碼了。實現(xiàn)起來簡單方便,唯一的要求是運行perl腳本的機(jī)器要有編譯器,VC和GCC都行。
獲取不到,函數(shù)名在連接時被替換成函數(shù)入口地址,實際運行的程序中通常不存在函數(shù)名(PE文件如果有函數(shù)導(dǎo)出表則導(dǎo)出表中可能會記錄函數(shù)名)。變量名同理。
就是__FILE__
類似的還有__LINE__
__func__
這3個特殊宏是C99里面定義的