Domanda

Sono interessato a sentir parlare di popoli esperienza con l'incorporamento mono (implementazione open source del .NET) in un / c ++ C. Come è distribuire tale applicazione e quali sono le dipendenze? Ho testato su OS X e mono si presenta come una struttura enorme (centinaia di MB). Fare gli utenti del mio app tutti bisogno di questo grande quadro o può essere smontate o tutto essere compilati nel eseguibile principale.

Ho già esperienza con l'incorporamento Lua in un'applicazione C ++, e che funziona davvero bene perché posso collegare staticamente tutto il lua interprete con il mio eseguibile principale. Quindi non ho dipendenze esterne. E 'possibile fare qualcosa di simile con il mono?

Tutta la gente Lua qui che posso commentare quanto hanno trovato mono rispetto a Lua?

PS: Incorporando intendo un'applicazione C ++ che inizializza un ambiente mono e carica un complesso NET e lo esegue e quindi consente la comunicazione tra dicono codice C # nell'assemblaggio e C ++ metodi eseguibile principale

.
È stato utile?

Soluzione

Probabilmente si dovrebbe anche dare un'occhiata a pagina a ingombro ridotto che descrive come è possibile incorporare un runtime più piccolo. Heck, lo fanno se stessi con Moonlight .

Mi auguro che aiuta.

Altri suggerimenti

Questa è di 2 anni domanda. Quindi situazione può diventare diversa ora.

Per quanto mi riguarda, il punto più importante è stato GC. Ho inserito Lua per interattive-apps e giochi, a causa GC incrementale richiesto. Attualmente Lua 5.1 ha precisi, GC incrementale, ma non ho potuto trovare alcuna prova di GC incrementale o precise su Mono. Così la memoria colerà (anche è molto piccola!), E le applicazioni lotterà ad intermittenza.

La gente dice GC pausa può essere risolto sintonizzando alcuni parametri e mettere in comune gli oggetti, ma come ho sperimentato, It non essere risolto senza alcun tipo di distribuzione del carico GC nel tempo approccio in GC. GC generazionale è uno dei algoritmo di distribuzione, ma è troppo ruvida, e quasi non disponibile.

Poiché non è possibile controllare modello di vita o riutilizzare esempio mettendo in comune gli oggetti utilizzati nel codice che non il vostro. (Come libreria di classi base)

Non consiglio la piattaforma C # (mono o .NET, almeno ancora) per / (soft) le applicazioni in tempo reale interattivi.


Modifica

Non so se qualcuno / concomitante GC avvicinato incrementale è presentato su Mono o .NET. Se si riesce a sicuro circa offrono il tipo di GC, naturalmente, è bene usare :)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top