85.13 64비트 사용하기
64비트 환경을 사용하려면 Visual Studio의 상단 메뉴에서 로컬 Windows 디버거 왼쪽 부분을 x64로 바꿉니다.
리눅스에서는 다음 패키지를 설치합니다(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비트 크기를 사용합니다. 따라서 printf로 numPtr에 저장된 메모리 주소를 출력해보면 00000079B575FDA4처럼 64비트 메모리 주소가 출력됩니다.