me gusta mucho de lo que he leído sobre D.Primeros Embedded con D (el lenguaje de programación)
- Documentación unificada (Eso hacer mi trabajo mucho más fácil.)
- capacidad de prueba construido en el idioma .
- Soporte de código de depuración en el idioma.
- Declaraciones a futuro. (Yo siempre pensé que era estúpido declarar la misma función dos veces.)
- Funciones incorporadas para reemplazar el preprocesador .
- Módulos
- Typedef se utiliza para comprobar el tipo correcto en lugar de aliasing.
- Funciones anidadas. (Tos PASCAL Tos)
- Parámetros de entrada y salida. (¡Qué obvio es eso!)
- Admite la programación de bajo nivel - Sistemas embebidos, ¡oh sí!
Sin embargo:
- Se puede d apoyar un sistema integrado que no va a estar ejecutando un sistema operativo?
- ¿La decleación directa que no admite procesadores de 16 bits la excluye por completo de las aplicaciones integradas que se ejecutan en tales máquinas? Algunas veces no necesitas un martillo para resolver tu problema.
- La recolección de basura es excelente en Windows o Linux, pero, desafortunadamente las aplicaciones integradas en algún momento deben hacer una gestión de memoria explícita.
- Array limita la comprobación, te encanta, lo odias. Ideal para garantizar el diseño, pero no siempre permitido por problemas de rendimiento.
- ¿Cuáles son las implicaciones en un sistema integrado, que no ejecuta un sistema operativo, para el soporte de subprocesos múltiples? Tenemos un cliente que ni siquiera le gustan las interrupciones. Mucho menos OS/multihilo.
- ¿Hay un D-Lite para sistemas integrados?
Así que básicamente es D adecuado para sistemas embebidos con sólo unos pocos megabytes (a veces menos que un magabyte), que no ejecutan un sistema operativo, donde el uso de memoria máxima debe ser conocido en tiempo de compilación (por requisitos.) Y posiblemente en algo más pequeño que un procesador de 32 bits?
Estoy muy interesado en algunas de las características, pero me da la impresión de que está dirigido a desarrolladores de aplicaciones de escritorio.
¿Qué es específicamente lo que lo hace inadecuado para una implementación de 16 bits? (Suponiendo que la arquitectura de 16 bits podría direccionar cantidades suficientes de memoria para contener los tiempos de ejecución, ya sea en memoria flash o RAM). Aún podrían calcularse valores de 32 bits, aunque más lentos de 16 bits y requiriendo más operaciones, utilizando el código de la biblioteca.
larsivi es uno de los desarrolladores de la biblioteca de Tango, así que déle gran credibilidad a su respuesta también. – quark
Oh y "D-Lite" es un gran nombre :). Espero que alguien lo use – quark
Posible engaño: http://stackoverflow.com/questions/1113938/how-would-you-approach-using-d-in-a-embedded-real-time-ambiente –