C/C++ malloc 只要失敗會crash就不用鳥,反正程式會自爆?

https://github.com/obsproject/obs-studio/blob/797b3dc1211c674ccf6cd8b162b144bb615bd233/libobs/util/darray.h#L398

static inline void darray_move_item(const size_t element_size,
struct darray *dst, const size_t from, const size_t to)

temp = malloc(element_size);
temp會被拿去給memcpy用


總之OBS那邊的回應應該是不必處理就是了,教材一般不是這樣教的
想想是有幾分道理,也不是全部情況都適用
只要失敗的情況不會讓程式在不確定下運作就可以考慮忽略

不值得寫回復/重試機制的就讓它爆炸?
performance critical部分就省略,否則會影響效能
畢竟失敗的情況下是少數,和影響效能相比哪個比較重要很清楚了

留言

這個網誌中的熱門文章

OBS 抓不到畫面, 視窗, 遊戲擷取, 黑或白畫面, 當掉 ,卡住, black/white screen, window game capture, crash, freeze

優化實況(一) OBS設定 streaming settings

OBS plugin obs-text 顯示播放中音樂, display playing music