You are here

BigSize Double Drawing Error

int fred::findoffset( string names){
for( vector::const_iterator item=list.begin(); item != list.end(); ++item){
if( names == item->signame ){
string line;
fin.clear();
fin.seekg(item->offset);
//double x[item->data_num], y[item->data_num];
double *x, *y;
x=(double *)malloc(sizeof(double) * item->data_num);
y=(double *)malloc(sizeof(double) * item->data_num);
int i=0;
while( getline(fin, line) ){
if( (line[0] == '+' ) && (line[1] == ')' ) ) {
break;
}else{
vector tokens=StringTokenizer::getTokens(line);
x[i] = atof( tokens[1].c_str() ) * 1e+9;
y[i] = atof( tokens[2].c_str() );
}
i++;
}
cout data_num if((Blt_ResetVector( xVec, x, item->data_num, item->data_num, TCL_VOLATILE) != TCL_OK) ||
(Blt_ResetVector( yVec, y, item->data_num, item->data_num, TCL_VOLATILE) != TCL_OK)){
return TCL_ERROR;
}
free(x);
free(y);
return 1;
}
}
return 0;
}
item->data_num --> 1926862 data size가 무지 큽니다.

XIO: fatal IO error 131 (Connection reset by peer) on X server "xx.xxx.xxx.xx:0.0"
after 13767 requests (13759 known processed) with 24 events remaining.

데이타를 빌딩하고 그리는 과정에서 에러가 생기는 것 같습니다. [TCL/TK -- BLT Graph 부분]
해결방안이 없을까요?

예를 들어서 C++에서 double x[1926862] ; 를 하게 되면 segment fault를 내면서 죽어서 malloc를 사용하였습니다.

해결방법을 아시면 ....
감사합니다. 좋은 하루되세요.