85.13 64비트 사용하기

64비트 환경을 사용하려면 Visual Studio의 상단 메뉴에서 로컬 Windows 디버거 왼쪽 부분을 x64로 바꿉니다.

그림 85‑3 64비트 빌드 설정

리눅스에서는 다음 패키지를 설치합니다(32비트 리눅스에서는 설치할 수 없습니다. 64비트 리눅스를 사용해주세요).

우분투

$ sudo apt-get install gcc-multilib

CentOS

$ sudo yum install glibc-devel.i686

다음 내용을 소스 코드 편집 창에 입력한 뒤 실행해보세요.

main.c

#include <stdio.h>

int main()
{
    int num1 = 20;     // int형 변수 선언
    int *numPtr;       // int형 포인터 선언

    numPtr = &num1;    // num1의 메모리 주소를 구하여 numPtr에 할당

    printf("%p\n", numPtr);    // 00000079B575FDA4
                               // numPtr에 저장된 메모리 주소 출력(컴퓨터마다, 실행할 때마다 달라짐)
    return 0;
}

다음과 같이 -m64 옵션을 설정하여 컴파일합니다(64비트 리눅스에서는 -m64 옵션을 생략해도 됩니다).

$ gcc -m64 main.c -o main

Visual Studio에서 컴파일하면 프로젝트 폴더/x64/Debug에 실행 파일이 생성됩니다(Release 모드라면 프로젝트 폴더/x64/Release).

실행 결과

00000079B575FDA4 (메모리 주소. 컴퓨터마다, 실행할 때마다 달라짐)

실행 파일을 64비트로 컴파일했기 때문에 메모리 주소도 64비트 크기를 사용합니다. 따라서 printfnumPtr에 저장된 메모리 주소를 출력해보면 00000079B575FDA4처럼 64비트 메모리 주소가 출력됩니다.