F.R.I.D.A.Y.

프로젝트에서 개발하는 프로그램이 32비트인지 확인하는 방법 본문

DEV/Tip

프로젝트에서 개발하는 프로그램이 32비트인지 확인하는 방법

F.R.I.D.A.Y. 2019. 6. 17. 05:47
반응형

  Windows OS가 설치된 드라이브를 보면 Program Files이란 폴더와 뒤에 (x86)이라 붙은 폴더가 있습니다. 각각의 폴더는 64비트, 32비트로 개발된 프로그램이 설치되는 기본 폴더를 의미합니다.

 그렇다면 64비트 프로그램은 어떻게 개발하고 내가 개발하는 프로그램이 64비트인지는 어떻게 확인할 수 있을까요? 이번 포스트에선 이 방법에 대해 알아봅니다.

 

※ 이 포스트는 Visual Studio 2019 Community v16.1.2. C 프로젝트에서 테스트되었습니다.


디버그 왼쪽을 보자

 상단 메뉴바를 보면 로컬 디버그 작업을 할 수 있는 버튼이 존재합니다.

로컬 Windows 디버거 버튼 오른쪽에 있는 개발 버전 설정 드롭다운 리스트

 그 왼쪽을 보면, Debug x86 이 적힌 드롭다운 리스트가 존재하는데요, 여기 보이는 x86이 프로그램을 32비트로 개발하겠다는 설정입니다. 이를 x64로 변경하면 64비트 프로그램으로 개발하게 되는 것이죠.

 


x64 옵션이 없습니다

 드롭다운 리스트를 처음 확인할 때는 x64 옵션이 활성화는커녕 목록에 존재하지 않을 수 있습니다. 이는 활성화를 통해 해결할 수 있습니다.

드롭다운 리스트에서 < 구성 관리자 >를 누릅니다.

 

구성 관리자를 열면 아래와 같은 창이 나옵니다. < 활성 솔루션 플랫폼 >에서 새로 만들기를 누릅니다.

 

플랫폼 이름은 x64로 설정한 후 확인을 누릅니다.

 

이후 프로젝트의 플랫폼이 x64인지 확인하면 됩니다.


64bit 프로그램인지 소스로 확인하기

방법 1.

 32비트와 64비트 프로그램은 포인터 변수의 크기가 다릅니다. 따라서 포인터의 크기를 확인해보면 내가 만든 프로그램이 32비트 프로그램인지 64비트 프로그램인지 확인할 수 있습니다.

#include <stdio.h>

int main(void) {

	int* p;

	printf("포인터 p의 크기는 %2d입니다.\n", sizeof(p)); // sample
	printf("%d비트 프로그램입니다.\n", (sizeof(p) == 8 ? 64 : 32));

	return 0;
}

 

방법 2.

 위 방법 외에도 다른 방법이 있네요. 아래 블로그 포스트에서 첫 번째 소스코드를 현재 프로젝트에 복사해 테스트해보시기 바랍니다.

 

[Windows API] 32비트 64비트 확인

윈도우 프로그래밍을 하다보면 사용자의 OS가 32비트인지 64비트인지 확인해야 할 경우가 있다. 이번 포스팅에서는 프로세스가 32비트 또는 64비트로 실행되었는지 구분할 수 있는 함수를 만들어보고, 사용자의 운..

dream-cy.tistory.com

! 주의 !

 위 포스트에서 주어진 코드를 확인해보니 헤더를 읽을 수 없다고 경고가 나오는데요, 헤더의 이름을 다음과 같이 변경하신 후 테스트하기 바랍니다.

window.h > Windows.h (대소문자 구분합니다)

변경 전(왼쪽)과 변경 후(오른쪽) 헤더의 이름은 Windows.h입니다.

 

# index

728x90
반응형
Comments