一條忽略的告警引發的coredump

遇到一個問題,莫名其妙的出現coredump。期望返回的是指針值,但是返回值有截斷的效果。

(gdb) p hash_table
$1 = (sf_ht_t ) 0xffffffffe0d66e00 -------->截斷值,高32位爲F,低32位正確。
(gdb) p ht_table
$2 = (struct sf_ht
) 0x7f82e0d66e00 --------->正確值

aaa.c:1130:38: warning: initialization of ‘sf_ht_t ’ {aka ‘struct sf_ht ’} from ‘int’ makes pointer from integer without a cast [-Wint-conversion]
由於沒有及時處理代碼中的告警。將返回值的指針值系統優化爲int。導致程序coredump。

問題原因是:
函數調用時,找不到函數定義。沒有引用頭文件導致的。
總結:正確對待,程序編譯過程中的每一個warning。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章