2010-03-04 9 views
20

Chciałbym wypróbować język programowania D. Mam prosty projekt dla zwierząt, który miałem zamiar ukończyć i pomyślałem, że będzie to dobra okazja, aby się uczyć D 2.0.Jak dobrze D obsługuje 64-bitowe?

Jednak moim podstawowym systemem operacyjnym jest dwukrotne uruchamianie systemu Kubuntu z 64-bitowym systemem Windows 7 i nie mogę go uruchomić. W projekcie zostanie użyta wersja SDL i podejrzewam, że mój 64-bitowy system operacyjny może być problemem.

Jaki jest aktualny stan rzeczy dla 64-bitowego D? Czy ktoś ma doświadczenie, aby to zadziałało?

BTW Nie interesuje mnie D 1.0, więc jest to D 2.0 lub popiersie.

Odpowiedz

21

W tej chwili odpowiedź brzmi "zależy od". W szczególności zależy to od systemu operacyjnego i wersji demona DMD lub kompilatora Digital Mars D, który jest implementacją referencyjną i oferuje wsparcie 64-bitowe. Obsługa 64-bitowa jest całkowicie nowa (patrz komentarze poniżej), ale Walter Bright, twórca języka, wskazał, że uzyskanie go na równi z 32-bitowym jest teraz wysokim priorytetem, gdy D2 wychodzi (lub dokładniej teraz, gdy książka Andrei Alexandrescu "The D Programming Language" została wydany). Jednak wskazał, że ze względu na problemy z linkerem, pierwsze kilka wersji nie będzie obsługiwać wersji 64-bitowej w systemie Windows (wydaje się, że jest to still be true).

Dla D1 obsługa 64-bitowa jest świetna w systemach Linux i Mac, jeśli używasz LDC, który jest kompilatorem D kierującym LLVM. W systemie Windows kompilator GDC, który jest skierowany do końca GCC, został wskrzeszony, ale ma kilka wersji za krzywą. W D1 nie jest to szczególnie ważne, ponieważ specyfikacja językowa jest dość stabilna.

W przypadku D2 wsparcie 64-bitowe praktycznie nie istnieje. Wspomniane wcześniej GDC obsługuje tę funkcję, ale D2 rozwija się szybko, a GDC jest zbyt nieaktualny, aby mógł być użyteczny. Większość nietrywialnych kodów napisanych dla wersji 2.015 (najnowsze wsparcie GDC) prawdopodobnie nawet nie skompiluje się na wersji 2.040 (najnowsza wersja DMD) i na odwrót.

Edytuj: Na dzień dzisiejszy, 21 czerwca 2010 r., Są pewne poprawki w SVN w kierunku 64-bitowego wsparcia dla DMD. Są dalekie od działającego kompilatora, ale chodzi o to, że jest on w toku.

Edycja nr 2: od połowy lutego 2011 r. DMD 2.052 obsługuje 64-bitową wersję systemu Linux.

Edycja nr 3: od listopada 2011 r. GDC jest użyteczny i zawiera tylko jedno wydanie za DMD, chociaż jest nieco w wersji beta i nie jest jeszcze spakowany. Musisz skompilować go ze źródła.

+6

Aktualizacja: 64-bitowy DMD dla systemu Linux został wydany 17 lutego 2011 r. (V2.052). – kennytm

+2

Aktualizacja: GDC dogonił interfejs DMD i jest obecnie w wersji DMDFE 2.052. – klickverbot

+2

Mamy teraz 64-bitowe pakiety binarne GDC dla systemu Windows. –

3

Jak powiedział dsimcha, D2.0 nie znajdziesz 64-bitowego kompilatora. Możesz jednak zainstalować 32-bitowy kompilator dmd, aby skompilować 32-bitowe programy w systemie Linux. Prawdopodobnie będziesz używać Derelict jako opakowania SDL.

Additional Packages Required

Aktualizacja: Ponieważ kompilator jest 32 bit będzie trzeba zainstalować wersję 32 bitową SDL bibliotek. Nie sądzę, że znajdziesz je w repozytorium, więc będziesz musiał sam skompilować SDL (możesz rozpakować SDL .deb z repozytorium 32-bitowego i zainstalować je ręcznie). Przepraszam, że przegapiłem, że to byłby problem.

+0

To połączenie było złote. To mnie bardzo zbliżyło. Wciąż utknąłem. 32-bitowy plik wykonywalny nie chce ładować bibliotek SDL. –