1. 程式人生 > >c語言筆記: 對 void *lpObj 進行類型轉換時,一不留神,後果很嚴重

c語言筆記: 對 void *lpObj 進行類型轉換時,一不留神,後果很嚴重

指向 pan 圖片 類型 col 一次 obj 修改 lac

問題描述:

一個項目之前測試的時候一點問題沒有,今天早上軟件在一個特定的條件下出現崩潰情況,但並不是每次都會崩潰情,崩潰概率達到80%。

經過上午3個小時的排查,終於找到原因。

在項目中,我使用了一個 void *lpFocusedLayer,用來指向不同的結構體(struct),但是在一次轉換過程中,使用了錯誤的結構類型對 lpFocusedLayer 進行類型轉換 (有的時候代碼 copy -> paste 真的會出大問題)。

下面是錯誤代碼:

技術分享圖片

修改後的代碼:

技術分享圖片

c語言筆記: 對 void *lpObj 進行類型轉換時,一不留神,後果很嚴重