CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): Gizmos (  그림이)
날 짜 (Date): 1996년10월14일(월) 00시29분32초 KST
제 목(Title): [re]array size가 넘 크데요...흑흑



 정적이든 동적이든 

 한꺼번에 64KB이상은 할당이 안됩니다..

 그게 바로 세그먼트 구조를 가지기 때문이죠.

 코드 세그먼트, 데이터, 스택, 등등..

 int a[256][256];하면 128KB가 되죠.

 int는 두 바이트니까.

 방법은 

 char * far mem[N];

 for( i=0; i< N; i++) {

 mem[i] = (char*)melloc( 256*256-1);

 }

 이렇게 하고(256*256-1은, 만약 1을 빼지 않으면

 역시 메모리 크기가 크다고 하기 때문)

 mem[0]에다가 데이터를 넣다고 넘치게 생겼으면

 다시 mem[1]로 옮기는 방법 밖에는 없지요.

  그래서 unix가 편하고

 win95를 쓰나 보지요..

 unix나 win95 또는 NT 등은

 모두 flat memory 구조를 갖지요..


 하여간에 도스에서 그런 일을 하는 것은 좀 

 귀찮은 일이죠..

 그럼 이만..


 
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.