Pregunta

Estoy interesado en escuchar acerca de la experiencia con la incorporación de los pueblos mono (implementación de código abierto de .NET) en un / C ++ de C. ¿Cómo ha de distribuir una aplicación tal y cuáles son las dependencias? He probado en OS X y mono se presenta como un gran marco (cientos de MB). ¿Los usuarios de mi aplicación toda la necesidad de este gran marco o puede ser despojados o todo ser compilados en el ejecutable principal.

previamente Tengo experiencia con la incorporación de Lua en una aplicación de C ++, y que funciona muy bien porque puedo enlazar estáticamente toda la intérprete de Lua con mi ejecutable principal. Así que no tengo dependencias externas. ¿Es posible hacer algo similar con mono?

Todo pueblo Lua aquí que puede hacer comentarios sobre cómo encontraron mono comparación con Lua?

PS: Al integrar I significa una aplicación de C ++ que inicializa un entorno de mono y carga un ensamblado de .NET y lo ejecuta y luego permite la comunicación entre dicen C # código en el montaje y C ++ métodos en ejecutable principal

.
¿Fue útil?

Solución

Usted debe probablemente también echar un vistazo a página Pequeña huella que describe cómo se puede incrustar un tiempo de ejecución más pequeño. Heck, lo hacen ellos mismos con Moonlight .

Espero que ayude.

Otros consejos

Esta es la pregunta 2 años de edad. Así que la situación puede llegar a ser diferente ahora.

Para mí, lo más importante era GC. Incorporadas, para Lua-interactivas aplicaciones y juegos, porque GC adicional requerido. Actualmente Lua 5.1 tiene GC precisa e incremental, pero no pudo encontrar ninguna prueba de GC incremental o precisa en Mono. Así, la memoria se escapará (aunque es muy pequeña!), Y aplicaciones tendrá que luchar de forma intermitente.

La gente dice pausa GC puede ser resuelto mediante la regulación de algunos parámetros y puesta en común de los objetos, pero como ya he experimentado, no resolverse sin ningún tipo de carga GC distribución en el tiempo enfoque en GC. GC generacional es uno de algoritmo de distribución, pero es demasiado áspero, y casi no es útil.

Debido a que no se puede controlar patrón de vida o reutilizar ejemplo, poniendo en común los objetos utilizados en código que no la suya. (Tales como la biblioteca de clase básica)

Así que no recomiendo la plataforma C # (Mono o .NET, al menos por ahora) para (blandos) aplicaciones interactivas en tiempo real /.


Editar

No sé si alguna GC incrementales / concurrente acercado se presenta en Mono o .NET. Si usted puede seguro de que ofrecen el tipo de GC, por supuesto, está bien usar :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top