2010-03-04 20 views
20

Me gustaría probar el lenguaje de programación D. Tengo un proyecto de mascota simple que he querido terminar y pensé que sería una buena oportunidad para aprender D 2.0.¿Qué tan bien soporta D 64 bits?

Sin embargo, mi sistema operativo principal es el arranque dual de 64 bits de Kubuntu con Windows 7 64bit y parece que no puedo hacer que funcione. El proyecto usará SDL y sospecho que mi sistema operativo de 64 bits podría ser el problema.

¿Cuál es la situación actual de D 64 bit? ¿Alguien tiene experiencia en hacer que esto funcione?

BTW No tengo interés en D 1.0, por lo que es D 2.0 o busto.

Respuesta

21

Por el momento, la respuesta es un rotundo "depende". Específicamente, depende del sistema operativo y qué versión de D.

DMD, o el compilador digital Mars D, es la implementación de referencia y ofrece soporte de 64 bits. El soporte de 64 bits es tremendamente nuevo (ver comentarios más abajo) pero Walter Bright, el creador del lenguaje, ha indicado que conseguirlo a la par con 32 bits es una alta prioridad ahora que D2 salió a la luz (o más correctamente ahora que el libro de Andrei Alexandrescu "The D Programming Language" ha sido liberado). Sin embargo, ha indicado que debido a problemas con el enlazador, las primeras versiones no admitirán 64 bits en Windows (esto parece still be true).

Para D1, la compatibilidad con 64 bits es excelente en Linux y Mac si usa LDC, que es un compilador D que se dirige a LLVM. Para Windows, el compilador GDC, que apunta al back-end de GCC, ha resucitado pero hay varias versiones detrás de la curva. En D1, esto no es terriblemente importante ya que la especificación de idioma es bastante estable.

Para D2, el soporte de 64 bits actualmente es básicamente inexistente. El mencionado GDC lo admite, pero D2 ha estado evolucionando rápidamente y el GDC está demasiado desactualizado como para ser útil aquí. La mayoría de los códigos no triviales escritos para la versión 2.015 (la última versión de GDC) probablemente ni siquiera se compilarán en la versión 2.040 (la última versión de DMD) y viceversa.

Editar: A partir de hoy, 21 de junio de 2010, hay algunas confirmaciones en SVN hacia soporte de 64 bits para DMD. Estos están lejos de ser un compilador funcional, pero el punto es que está en marcha.

Edición n.º 2: a partir de mediados de febrero de 2011, DMD 2.052 admite 64 bits en Linux.

Edición n. ° 3: a partir de noviembre de 2011, GDC es utilizable y solo una versión detrás de DMD, aunque es algo beta-ish y aún no está empaquetada. Tienes que compilarlo desde la fuente.

+6

Actualización: el DMD de 64 bits para Linux se lanzó el 17 de febrero de 2011 (v2.052). – kennytm

+2

Actualización: GDC se ha puesto al día con DMD frontend-wise y actualmente se encuentra en DMDFE versión 2.052. – klickverbot

+2

Ahora tenemos paquetes binarios GDC de 64 bits para Windows. –

3

Como ha dicho dsimcha, D2.0 no encontrará un compilador de 64 bits. Sin embargo, puede instalar el compilador dmd de 32 bits para compilar programas de 32 bits en Linux. Y probablemente usará Derelict como contenedor de SDL.

Additional Packages Required

Actualización: Desde el compilador es de 32 bits tendrá que instalar una versión de 32 bits de las bibliotecas SDL. No creo que los encuentre en el repositorio, por lo que tendrá que compilar SDL usted mismo (es posible que pueda descomprimir el SDL .deb del repo de 32 bits e instalarlos manualmente). Lamento haberme perdido eso sería un problema.

+0

Ese enlace era dorado. Me hizo mucho más cerca. Todavía estoy atascado, sin embargo. El ejecutable de 32 bits no quiere cargar las bibliotecas SDL. –

Cuestiones relacionadas