摘要: 什么時(shí)候需要判斷?當(dāng)指針依賴于外部環(huán)境時(shí),例如讀配置文件、載入資源,因?yàn)橥獠恳蛩?
不確定不在自己控制范圍內(nèi),那么進(jìn)行判斷。同樣,當(dāng)使用了其他模塊返回的指針值時(shí),也
需要判斷。這個(gè)其實(shí)和“外部環(huán)境”屬于同一種情況。因?yàn)槲覀儗?duì)其他模塊也不清楚,更為
隱蔽的是(隨著其他模塊的改變,將來(lái)會(huì)在你的模塊里爆發(fā)崩潰錯(cuò)誤),其他模塊由別人維
護(hù),其變化更不受自己控制。之前我對(duì)這一點(diǎn)界定不是很清楚,這也是我犯錯(cuò)的原因。
閱讀全文
摘要: 要將一個(gè)Image保存為一段內(nèi)存,也比較麻煩。我的方法和google上的相同。當(dāng)然,微軟的庫(kù)依
然讓我在很多細(xì)節(jié)上栽跟斗(如前所說(shuō),可能這是基于多語(yǔ)言支持的考慮)。首先需要?jiǎng)?chuàng)建個(gè)空
的IStream,即CreateStreamOnHGlobal第一個(gè)參數(shù)為NULL。然后將Image Save到這個(gè)IStream。
再根據(jù)該IStream::Seek獲取其大小,自己再分配段內(nèi)存,最后IStream::Read讀取進(jìn)來(lái)。同樣,
需要注意相關(guān)內(nèi)存資源的管理。
閱讀全文