Gcc 질문

리눅스(우분투10.10)에 설치되어있는 gcc컴파일러는
몇 비트짜리 컴파일러인가요??
gcc에서 인식(지원?)하는 정수의 범위 좀 알려주세요…

설치한 OS가 32비트인지 64비트인지에 따라 다릅니다.
직접 확인해 보세요…

제 64비트 머신의 출력은 다음과 같았습니다.

[code:3uhd8h65]
$ echo | gcc -E -dM - | grep SIZEOF
#define SIZEOF_INT 4
#define SIZEOF_POINTER 8
#define SIZEOF_LONG 8
#define SIZEOF_LONG_DOUBLE 16
#define SIZEOF_SIZE_T 8
#define SIZEOF_WINT_T 4
#define SIZEOF_PTRDIFF_T 8
#define SIZEOF_FLOAT 4
#define SIZEOF_SHORT 2
#define SIZEOF_WCHAR_T 4
#define SIZEOF_DOUBLE 8
#define SIZEOF_LONG_LONG 8
$
$ echo | gcc -E -dM - | grep MAX
#define WCHAR_MAX 2147483647
#define DEC64_MAX_EXP 385
#define SHRT_MAX 32767
#define LDBL_MAX 1.18973149535723176502e+4932L
#define UINTMAX_TYPE long unsigned int
#define LDBL_MAX_EXP 16384
#define SCHAR_MAX 127
#define DEC32_MAX 9.999999E96DF
#define DBL_MAX 1.7976931348623157e+308
#define DEC128_MAX 9.999999999999999999999999999999999E6144DL
#define DBL_MAX_EXP 1024
#define LONG_LONG_MAX 9223372036854775807LL
#define FLT_MAX_10_EXP 38
#define LONG_MAX 9223372036854775807L
#define DEC64_MAX 9.999999999999999E384DD
#define DEC32_MAX_EXP 97
#define INT_MAX 2147483647
#define FLT_MAX_EXP 128
#define LDBL_MAX_10_EXP 4932
#define INTMAX_MAX 9223372036854775807L
#define FLT_MAX 3.40282347e+38F
#define INTMAX_TYPE long int
#define DEC128_MAX_EXP 6145
#define DBL_MAX_10_EXP 308
[/code:3uhd8h65]

덧. gcc-multilib 패키지가 설치되어 있다면 -m32 / -m64 옵션을 통해
빌드할 타겟을 변경할 수 있을 것입니다.