x86 및 x64 용 .net CLR이 다른가요?x86 및 x64 용 .net CLR이 다른가요?
decimal i = 89;
i=i++;
위의 코드는 x86, x64에서 CLR에 의해 생성 된 고유 코드가 다른가요?
UPDATE : 예 경우 내가 기계 비트의 독립적 CLR 버전을 모두 설치됩니다 내 컴퓨터에서 Visual Studio를 설치할 때? 공연으로 무언가를 할 수 있습니까?
x86 및 x64 용 .net CLR이 다른가요?x86 및 x64 용 .net CLR이 다른가요?
decimal i = 89;
i=i++;
위의 코드는 x86, x64에서 CLR에 의해 생성 된 고유 코드가 다른가요?
UPDATE : 예 경우 내가 기계 비트의 독립적 CLR 버전을 모두 설치됩니다 내 컴퓨터에서 Visual Studio를 설치할 때? 공연으로 무언가를 할 수 있습니까?
예, 32 비트 및 64 비트 특정 JITter가 있습니다. 어떤 코드가 실행되는지는 CLR을로드 한 호스트 환경/프로세스와 어셈블리 자체에 따라 다릅니다.
어셈블리를 빌드 할 때 x86, x64 또는 "AnyCPU"를 대상으로할지 여부를 선택할 수 있습니다.
이 기능을 도입하기 전에 만들어진 '레거시'어셈블리의 경우도 있습니다. 나는 그들이 32 비트 것들과 똑같이 행동한다고 믿는다.
어셈블리에 32 비트 네이티브 종속성이있는 경우이를 32 비트로 표시해야합니다. 그렇지 않으면 64 비트 환경에서 64 비트로로드되고 종속성이로드되지 않습니다.
는 업데이트 된 질문에 대답하려면 :
64 비트 시스템은 32 비트 설치 64 비트 CLR을 모두해야합니다. 32 비트는 WOW64에서 32 비트 어셈블리를 실행하는 데 필요합니다. (예 : Visual Studio는 32 비트 임)
포인터가 더 작기 때문에 32 비트가 더 빨리 실행될 수 있으므로 낭비되는 캐쉬/메모리가 적습니다. 반면에 64 비트 모드에서는 JITter가 사용할 수있는 레지스터가 더 많이 있습니다. 그것은 코드의 특성에 달려 있습니다.
내 컴퓨터에 Visual Studio를 설치하면 컴퓨터 비트와 상관없이 CLR 버전이 모두 설치됩니까? 공연으로 무언가를 할 수 있습니까? – Dhananjay
@dnkulkarni : 질문에 대한 답변을 업데이트했습니다. – porges
정말 좋은 답변입니다. 고마워. 몇 가지 질문이 제기되었습니다.> 1. "64 비트 컴퓨터에는 32 비트 및 64 비트 CLR이 모두 설치됩니다." Qst - 언제 그리고 누가 설치합니까? 좋은 정보 출처 링크가 있어야합니다 ... 공유하십시오. – Dhananjay