線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1034
推到 Plurk!
推到 Facebook!

記憶體大小的謎思

尚未結案
youngjw
一般會員


發表:4
回覆:8
積分:2
註冊:2005-10-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-10-26 08:34:49 IP:140.116.xxx.xxx 未訂閱
這是我idct的程式,是可以動作的,只是不知為什麼,在做400*400以下是可以的,只要把row和col的定義改為512*512就不行了,因為我是用define去定義檔案的大小,所以只要改define的地方就可以了,但是卻不是這樣,所以我在想,會不會是電腦記憶體不足呢,但是我學長說應該不會是這樣的狀況,所以想請各位大大看看,我用的是8*8的idct...謝謝 
 
#include 
#include 
#include <math.h>
#include 
#define row 400                
#define col 400
#define n 8
#define pi 3.1415926
char *filename="c://dct/test2.txt";    void main()
{            float x[row][col];
        unsigned char y[row][col];
        float tmp=0;
        float ea,eb;
        int search_row=0;
        int search_col=0;
  
        FILE *fip;
        if((fip = fopen(filename,"rb")) == NULL) // open input file
        {
                printf( "\n Can't open file : %s",filename);
        }
        else
        {
                for(int q=0;q     
        
zcecil
初階會員


發表:0
回覆:28
積分:45
註冊:2003-06-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-10-26 10:26:43 IP:220.130.xxx.xxx 未訂閱
你最後一行是 fwrite(&y,sizeof(char),400*400,fop); 這裡沒有用define的東西, 看起來應該是這個問題.
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-10-26 20:28:32 IP:211.22.xxx.xxx 未訂閱
寫成這樣呢 < class="code"> fwrite(&y,sizeof(y),1,fop); ----------------------- Practice makes perfect.
pwipwi
版主


發表:68
回覆:629
積分:349
註冊:2004-04-08

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-10-27 00:56:24 IP:219.84.xxx.xxx 未訂閱
youngjw你好: stack中不適合配置這麼大的記憶體,用new把記憶體配置在heap中吧。之前有人提出相同的問題,建議可以尋找站上的舊文章
youngjw
一般會員


發表:4
回覆:8
積分:2
註冊:2005-10-03

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-10-27 12:47:41 IP:140.116.xxx.xxx 未訂閱
to zcecil:忘了說,當我改成512*512時, 我也會順道改成fwrite(&y,sizeof (char),512*512,fop); to Stallion:不好意思,compiler可以過,但是執行還是錯耶 to pwipwi:關於new還不太會用,但是我會去試試的
系統時間:2024-05-10 6:35:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!