2010-03-04 3 views
20

D 프로그래밍 언어를 사용해보고 싶습니다. 나는 단순한 애완 동물 프로젝트를 가지고있어 끝내기 위해 의미가 있었고 D 2.0을 배울 좋은 기회라고 생각했습니다.D는 64 비트를 얼마나 잘 지원합니까?

그러나 내 기본 OS는 Windows 7 64 비트를 사용하는 쿠분투 64 비트 이중 부팅이므로 제대로 작동하지 않는 것 같습니다. 프로젝트는 SDL을 사용할 것이고 64 비트 OS가 문제가 될 수 있습니다.

D 64 비트의 현재 상태는 무엇입니까? 이 일을 경험 한 사람이 있습니까?

동의어 D 1.0에 관심이 없으므로 D 2.0 또는 흉상입니다.

답변

21

현재 답변은 "그것이 의존합니다"라고 대답합니다. 구체적으로 OS에 따라 달라지며 어떤 버전의 D

DMD 또는 Digital Mars D 컴파일러가 참조 구현이며 64 비트 지원을 제공합니다. 64 비트 지원은 새롭기 때문에 (아래 설명 참조), 언어 작성자 인 월터 브라이트 (Walter Bright)는 D2 비트를 동등하게 사용하는 것이 가장 중요하다고 밝혔습니다 (Andrei Alexandrescu의 책 "The D Programming Language"은 공개). 그러나 그는 링커 문제로 인해 처음 몇 가지 버전이 Windows에서 64 비트를 지원하지 않는다고 표시했습니다 (이것은 still be true 인 것 같습니다).

D1의 경우 LLVM을 대상으로하는 D 컴파일러 인 LDC을 사용하면 Linux 및 Mac에서 64 비트 지원이 훌륭합니다. Windows의 경우 GCC 백엔드를 대상으로하는 GDC 컴파일러가 부활했지만 커브의 뒤에 여러 버전이 있습니다. D1에서 이것은 언어 사양이 상당히 안정적이므로 중요하지 않습니다.

D2의 경우 64 비트 지원은 기본적으로 존재하지 않습니다. 위에서 언급 한 GDC는이를 지원하지만 D2는 빠르게 발전했으며 GDC는 너무 유용하여 유용하지 않습니다. 버전 2.015 (최신 GDC 지원)로 작성된 대부분의 중요하지 않은 코드는 버전 2.040 (최신 DMD 버전)에서 컴파일되지 않으며 그 반대도 마찬가지입니다.

편집 : 2010 년 6 월 21 일 현재, SVN에는 DMD에 대한 64 비트 지원에 대한 일부 커밋이 있습니다. 이것들은 작동하는 컴파일러와는 거리가 멀지 만 요점은 진행중이라는 것입니다.

편집 # 2 : 2011 년 2 월 중순부터 DMD 2.052는 Linux에서 64 비트를 지원합니다.

편집 # 3 : 2011 년 11 월 현재 GDC을 사용할 수 있으며 DMD 뒤에 한 번만 출시됩니다. 아직 베타 버전이 아니며 아직 패키지되지 않은 상태입니다. 소스에서 컴파일해야합니다.

+6

업데이트 : Linux 용 64 비트 DMD는 2011 년 2 월 17 일에 릴리스되었습니다 (v2.052). – kennytm

+2

업데이트 : GDC는 프론트 엔드 방식의 DMD를 따라 잡았으며 현재 DMDFE 버전 2.052입니다. – klickverbot

+2

우리는 지금 Windows 용 64 비트 GDC 바이너리 패키지를 보유하고 있습니다. –

3

dsimcha가 말한 것처럼 D2.0에서는 64 비트 컴파일러를 찾을 수 없습니다. 그러나 Linux에서 32 비트 프로그램을 컴파일하기 위해 32 비트 dmd 컴파일러를 설치할 수 있습니다. SDL 래퍼로 Derelict을 사용하고있을 것입니다.

Additional Packages Required

업데이트 : 컴파일러가 32 비트이기 때문에 당신이 SDL 라이브러리의 32 비트 버전을 설치해야합니다. 저장소에서 찾을 수 있다고 생각하지 않으므로 직접 SDL을 컴파일해야합니다 (32 비트 저장소에서 SDL .deb의 압축을 풀고 수동으로 설치할 수 있음). 미안해. 그게 문제가 될거야.

+0

그 링크는 황금이었습니다. 그것은 나를 더 가까이있게했다. 나는 아직도 붙어있다. 32 비트 실행 파일은 SDL 라이브러리를로드하지 않으려합니다. –

관련 문제