|
로터스 님이 쓰신 글 :
: 아래의 프로그램을 비주얼 C++ 6.0에서 컴파일 했는데요
: alloc.h 라는 헤더파일이 없어서 에러가 납니다...
: 이 프로그램을 비주얼 C++ 6.0에서 컴파일 하려면 무엇을 어떻게
: 바꿔야 하나요...?
: 이 소스는 터보 C 2.0을 기준으로 만들어졌다고 하네요..
터보 C 2.0은 워낙 오래된 컴파일러라서, ANSI/ISO C에 호환되지 않는 부분이 있습니다.
alloc.h는 터보/볼랜드 C에만 있는 헤더파일로,
동적 메모리 할당 함수인 malloc, calloc등을 쓸 때
stdlib.h을 인클루드하지 않고도 위의 함수들을 쓰게 해주는 헤더파일입니다.
: #include <stdio.h>
: #include <alloc.h>
: #include <stdlib.h>
:
: #define MAX 50
:
: void main(void)
: {
: int i, j, *iptr;
: iptr = (int *)calloc(MAX, sizeof(int));
: if(iptr == NULL){
: puts("\n Memory allocation errer!" );
: exit(1)
: }
:
: for(i = 2; i <= MAX; i++){
: if(iptr[i] == 1)
: continue;
: for(j = i + i; j < MAX; j = j + i)
: iptr[j] == 1;
: }
:
: for(i = 2; i <= MAX; i++)
: if(iptr[i] == 0)
: printf("\t%3d", i)
: }
|