2009-04-17 8 views
14

¿Hay alguna manera de ejecutar código de C++ tal como se interpreta en lugar de compilar? entonces puedo editar código y escribir funciones sobre la marcha?ejecutar interpretar C++?


relacionadas:

+1

Mientras sea posible, esto no es realmente una buena idea. C++ es realmente poco adecuado para intérpretes. Su fuerza básica, la velocidad, se ha ido, sus deficiencias (relativamente bajo nivel, sin verificación de errores contra punteros incorrectos, etc.) todavía están allí. No todo se puede hacer en el intérprete. Hay muchos lenguajes interpretados mucho más adecuados, y hay compiladores de jit para C++ - "compilar y ejecutar", lo que hace que se comporte como un intérprete desde el punto de vista del usuario mientras se compila. –

Respuesta

10

Tome un vistazo a Ch, un intérprete ++ integrable C.

Ch es un C integrable/C++ intérprete para secuencias de comandos de plataforma cruzada, Shell programación, 2D trazado/3D, numérico computing, y secuencias de comandos incrustado. Ch es una alternativa gratuita y fácil de usar a los compiladores C/C++ para principiantes para aprender C/C++.

+0

Todavía me pregunto por qué no hay una versión de código abierto de ch. tal vez porque nadie lo necesita? – jokoon

2

CINT (readme) sin duda tiene un solo paso a paso. Aunque no estoy seguro acerca de la modificación sobre la marcha.

5

Ch y CINT (generalmente como parte del sistema ROOT) interpretarán C++. Sin embargo, mi experiencia con CINT no ha sido buena: el soporte de idiomas no es completo (particularmente en lo que respecta a las plantillas), la ejecución es mucho más lenta, ha habido un historial de errores con, por ejemplo, alcance variable y salida de bucle, y (IMO) es más complicado de lo que vale. Como lenguaje, C++ está especialmente mal diseñado para el uso interpretado.

Si necesita ejecutar código interpretado, ¿por qué no utilizar un lenguaje interpretado moderno como Python o Ruby? Una herramienta como SWIG se puede usar para conectarlas a librerías C/C++ existentes si es necesario.

+5

"mal diseñado" sugiere que fue diseñado para tal uso.Diría que "no está diseñado y no es adecuado" – MSalters

+0

Java también es un lenguaje interpretado realmente bueno :) –

0

Esto no responde exactamente a su pregunta, pero tal vez ayude.

El compilador MS C++ admite Editar y Continuar, que le permite detener, realizar cambios, volver a compilar & continuar sin apagar su programa.

0

Vi una presentación en ccons en el campamento de demostración de CUSEC en enero. Su objetivo es proporcionar un intérprete interactivo como el de pitón. Estaba en sus primeras etapas pero me impresionó.

Cuestiones relacionadas