22.03.02_x64,x86,AnyCpu
본문 바로가기
CS Study/Csharp

22.03.02_x64,x86,AnyCpu

by KyeongMin 2022. 3. 2.
728x90
반응형

01.32비트와 64비트란?

  • x64는 64비트
  • x86은 32비트를 의미하는 것
  • 32비트 vs 64비트
    • 차이는 레지스터의 처리값
    • CPU는 I/O버스를 통해 데이터 내,외부로 전송함
      • 그 한 번에 데이터를 전송하는 양이 32bit, 64bit임
  • 32비트 컴퓨터와 64비트 컴퓨터 차이
    • Ram에서 표현할 수 있는 주소값에서 보임
      • 2^32
      • = 2^2 * 2^30
      • = 4 * 2^30 = 4GB
        • 즉, 4GB를 초과하는 메모리 영역에는 참조할 수 없고,
          • 32비트 CPU에서는 4GB RAM을 인식하지 못함
  • 32bit프로그램은 64비트 운영체제에서 작동하지 않나?
    • Wow64(Windows on Windows 64)32비트 프로그램이 64비트 운영체제에서 작동하게 도와준다고함
      • 그러나, DLL은 따로 빌드를 거쳐 32bit, 64bit를 따로 나눠야함
  • 32bit는 왜? x86인가?
    • x86계열의 CPU가 32bit를 지원했다고 함
      • 즉, x86이 32bit이다 라고 말할 수 없음
      • 그리고 x86-64를 줄여서 x64라고한다고 함

02.32비트 시스템인 경우

  • AnyCpu : 32비트 프로세스로 실행되며 AnyCpu 및 x86어셈블리를 로드 할 수 있으며 x64어셈블리 BadImageFormatException을 로드하려고 하면 가져옴
  • X86 : Any Cpu와 동일함
  • X64 : BadImageFormatException 항상

03.64비트 시스템인 경우

  • AnyCpu : 64비트 프로세스로 실행되며 AnyCpu 및 x64어셈블리를 로드 할 수 있으며 x86어셈블리 BadImageFormatException을 로드하려고 하면 가져옴
  • X86 : 32비트 프로세스로 실행되며 AnyCpu및 x86어셈블리를 로드 할 수 있으며 x64어셈블리 BadImageFormatException를 로드하려고 하면 가져옴
  • X64 : Any Cpu와 동일함

https://github.com/3DPIT/study/blob/master/02.studyData/05.Csharp/2022/x64%2Cx86%2CAnyCpu/22.03.02_x64%2Cx86%2CAnyCpu.md

 

728x90
반응형

'CS Study > Csharp' 카테고리의 다른 글

22.03.05_템플릿메소드  (0) 2022.03.06
22.03.04_클래스다이어그램  (0) 2022.03.04
22.03.02_obj와bin  (0) 2022.03.02
22.03.02_컴파일타임과런타임의차이  (0) 2022.03.02
22.03.02_Debug와Release의차이  (0) 2022.03.02

댓글