作者godman362 (Shizuru)
看板C_and_CPP
標題[問題] glut外部讀檔
時間Fri Apr 3 12:15:56 2009
我用一個函數包一個外部讀檔的程式
GLfloat [8][3] = {};
GLfloat [6][4] = {};
void ReadFile() {
....
開檔
....
切字串
....
將字串丟入點陣列
}
//glutDisplayFunc 要用的函數
void show() {
....
....
....
}
.......
.......
int main(int argc, char **argv) {
ReadFile()
.....
.....
.....
glutDisplayFunc(show)
//RuntimeError .
}
我不太清楚Runtime Error的原因
因為ReadFile()原本是另一隻程式
而且單獨跑得時候沒有任何問題,不管是Compiler Time 或是Runtime
但是包成函數卻產生了Runtime Error
這就是我不太能理解的地方
以下是程式碼:
http://rafb.net/p/mn2YOS99.html
還請各位不吝指教,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.118.32.184
1F:推 QQ29:你這樣是每個frame都讀檔一次 你有close檔案嘛? 04/03 12:17
2F:→ godman362:程式碼中有寫到,包在ReadFile中 04/03 12:26
3F:→ godman362:在我附上的網址中有寫到,這點我可以確定 04/03 12:26
4F:→ godman362:原本的作法,是將ReadFile放在main的第一行 04/03 12:27
5F:→ godman362:但是結果依舊一樣,所以後來才放去show中 04/03 12:28
※ 編輯: godman362 來自: 122.118.32.184 (04/03 12:40)
6F:推 littleshan:你的記憶體到底是怎麼配置的? 04/03 13:03
7F:→ godman362:就是我前面兩行紅字,讀完檔後都是放入那兩個陣列 04/03 13:20
8F:→ godman362:其他的都只是暫時性的變數宣告 04/03 13:22
9F:→ VictorTom:請問是glutDisplayFunc()這行錯, 還是進去show了才錯?? 04/03 13:48
10F:→ VictorTom:如果進去才錯, 要不要試著break再show裡在debug跟一下?? 04/03 13:49
11F:→ godman362:那是把ReadFile放入show才會出錯,問題本身還是ReadFile 04/03 13:59
12F:→ VictorTom:您第三推不是說放在main第一行也一樣, 所以是error在 04/03 14:04
13F:→ VictorTom:ReadFile裡就對了?? 第一個反應還是掛debug....Orz 04/03 14:04
14F:→ godman362:是這樣沒錯,問題本身還是在於使用了ReadFile() 04/03 14:14
15F:→ godman362:我所附得程式碼中,是我所講得ReadFile放在main中第一行 04/03 14:15
16F:推 VictorTom:對不起我有點亂了Orz 所以您現在link的code是error在 04/03 14:17
17F:→ VictorTom:ReadFile裡就對了; code裡 Vertex[][3] = {} 沒有空間 04/03 14:17
18F:→ VictorTom:給它放data?? 那兩行和您文章裡的紅字不一致@_@" 04/03 14:18
19F:→ godman362:抱歉,程式後來有修正為GLfloat Vertex[8][3] 04/03 14:19
20F:→ godman362:所附得程式碼陣列後來有修正成紅字的部份 04/03 14:19
21F:推 VictorTom:不好意思, 應該是小弟幫不上忙還問一堆狀況外的問題Orz 04/03 14:33
22F:→ VictorTom:回去上班前亂猜, atof()在stdlib.h裡, 沒include到XD 04/03 14:34
23F:推 WalkingIce:glutDisplayFunc 只是接上一個 callback function 唷! 04/03 15:45
24F:→ godman362:atof沒有問題,這個我從以前用到現在都是這樣使用 04/03 16:59
25F:→ godman362:至於W大的意思我不太清楚,可以請您講詳細些嗎 04/03 17:03
26F:→ godman362:我現在用硬幹的,用extern拉進來用,反而沒有問題 04/03 17:51
27F:→ godman362:Runtime跑得也很正常....? 04/03 17:52