system header 화일에 조건적으로 정의된 #define을 사용하려면
글쓴이: granite / 작성시간: 금, 2004/10/08 - 3:54오후
/usr/include/limits.h에 정의된 LLONG_MAX를 쓰려고 하니 시스템에 __USE_ISOC99가 define 되지 않아 사용을 못하고 있습니다. __USE_ISOC99를 컴파일 할때 -D__USE_ISOC99로 해도 안돼 할수없이 LLONG_MAX를 정의해 쓰고 있는데 이게 다른 시스템으로 갈때 문제가 생길것 같아 찜찜합니다. 예전에도 이런 문제가 있었는데 이런 경우 어떻게 해야 컴파일때 __USE_ISOC99를 define 해줄수 있나요?
# ifdef __USE_ISOC99 /* Minimum and maximum values a `signed long long int' can hold. */ # define LLONG_MAX 9223372036854775807LL # define LLONG_MIN (-LLONG_MAX - 1LL) /* Maximum value an `unsigned long long int' can hold. (Minimum is 0.) */ # define ULLONG_MAX 18446744073709551615ULL # endif /* ISO C99 */
Forums:
자문 자답
컴파일시 -std=c99 옵션를 사용하면 되네요.
댓글 달기