Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[2066] Re:C++Builder 6에서는 컴파일, 링크 다 잘 되는군요.
김백일.cedar [cedar] 1206 읽음    2003-03-10 10:31
타즈 님이 쓰신 글 :
:
: 학교에서 내준 과제를 하고 있는데 제가 아는 바로는 틀린 것도 없고 컴파일도 되는데
: 링크하는데에서 다운을 먹습니다. 고수님들 부탁드려요
:
: #include<stdio.h>
:
: void main(void)
: {
:     int i,j;
:     int germ[30][80];
:     int seed[8][3][3] = {{{0,0,1},{1,1,1},{0,1,0}},
:                  {{0,1,0},{1,1,0},{0,1,1}},
:                  {{1,1,0},{0,1,1},{1,1,0}},
:                  {{1,0,0},{1,1,0},{1,0,1}},
:                  {{1,1,1},{1,1,0},{1,1,1}},
:                  {{1,1,1},{0,1,0},{1,0,1}},
:                  {{0,1,0},{1,1,1},{0,1,0}},
:                  {{1,0,1},{1,1,0},{0,1,0}}
:                 };
:    
:     for(i=0;i<30;i++)
:         for(j=0;j<80;j++)
:             germ[i][j]=0;
:    
:     for(i=0;i<3;i++)
:         for(j=0;j<3;j++)
:             germ[14+i][39+j] = seed[1][i][j];
:
:     for(i=0;i<30;i++)
:         {
:         for(j=0;j<80;j++)
:             printf("%d",germ[i][j]);
:
:         printf("\n");
:     }
: }
:
: 프로그램의 일부만 시험해볼려고 함수부분을 따로 만든 건데요 컴파일시 문제 없는데
: 링크시 다운을 먹습니다. 부탁드려요~~^^

다만, 실행 결과는 0만 엄청 많이 출력되네요. 로직에는 문제가 있군요. ^^;

님의 컴에서 링크가 안된다면 컴파일러를 최신버전으로 사용해보시기 바랍니다.
아마 님의 컴파일러는 16비트 컴파일러인 듯합니다. 32비트 컴파일러를 쓰세요.

그리고 위의 코드처럼 자동 변수(스택에 생성되는 변수)를 크게 잡는 것은 좋지 않습니다.
일단 링커 옵션에서 스택 크기를 늘려보시고요,
(C++Builder에서는 'PE File Options'라는 항목에서 조절할 수 있습니다.)
안되면 static 키워드로 정적 변수로 선언해보십시오.
그래도 안된다면 malloc이나 new를 써서 힙(heap)에 동적 할당을 하는 방법을 쓰셔야 합니다.

+ -

관련 글 리스트
2057 C 에서 다차원 배열에 관한 질문입니다.(코드있음) 타즈 1135 2003/03/09
2066     Re:C++Builder 6에서는 컴파일, 링크 다 잘 되는군요. 김백일.cedar 1206 2003/03/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.