[問題] openGL貼圖後需要釋放記憶體嗎?

看板C_and_CPP (C/C++)作者 (麵T)時間13年前 (2013/01/21 14:59), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/1
我參考 http://www.gamelife.idv.tw/viewtopic.php?t=608 還是零分所寫的openGL貼圖, 其中原作者的副程式 unsigned char *LoadBitmapFile(...略...) 中有一個動態陣列宣告:bitmapImage = new BYTE[lBitSize]; 我用的是C,所以我把這行改成:bitmapImage = ( BYTE* )malloc( lBitSize ); 照理說離開程式要free掉,所以 我把 bitmapImage 宣告成全域變數,然後在 ESC 按鈕事件中寫 free(bitmapImage); glDisable( GL_LIGHT0 ); glDisable( GL_LIGHTING ); glDisable( GL_DEPTH_TEST ); glutDestroyWindow( WinNumber ); exit( 0 ); 請問這樣子對嗎? -- 我是麵T,哩賀 http://ppt.cc/-eS5 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.96.93

01/21 15:00, , 1F
還是不用free?
01/21 15:00, 1F

01/21 15:02, , 2F
良好習慣有malloc就要有free
01/21 15:02, 2F

01/21 15:04, , 3F
不過程式結束的時候os其實會幫你全部清乾淨
01/21 15:04, 3F

01/21 15:05, , 4F
所以這種結束才free的東西做不做其實都一樣
01/21 15:05, 4F

01/21 15:18, , 5F
其實在呼叫glTexImage2D之後就可以free了
01/21 15:18, 5F

01/21 20:42, , 6F
建議要 以後寫類似"關閉專案"的功能 就知道很重要了
01/21 20:42, 6F
文章代碼(AID): #1G_ESul_ (C_and_CPP)
文章代碼(AID): #1G_ESul_ (C_and_CPP)