Question

Je suis intéressé à entendre parler de l'expérience avec les peuples mono intégration (mise en œuvre open source de .NET) dans une application C / C ++. Comment est-il de distribuer une telle application et quelles sont les dépendances? Je l'ai testé sur OS X et mono est comme un énorme cadre (des centaines de Mo). Est-ce que les utilisateurs de mon application tous besoin de ce grand cadre ou peut-il être démontées ou tout être compilé dans l'exécutable principal.

Je l'ai déjà l'expérience avec l'intégration Lua dans un C ++ application, et qui fonctionne très bien parce que je peux lier statiquement l'ensemble interprète Lua avec mon exécutable principal. J'ai donc pas de dépendances externes. Est-il possible de faire quelque chose de similaire avec mono?

Les Lua ici qui peuvent commenter sur la façon dont ils ont trouvé mono par rapport à Lua?

PS: En intégrant I signifie une application C ++ qui initialise un environnement mono et charge un assemblage .NET et l'exécute et permet alors la communication entre les dites C # code en assembleur et C ++ méthodes exécutable principal

.
Était-ce utile?

Autres conseils

est de 2 ans question. Donc, la situation peut devenir différente maintenant.

Pour moi, le point le plus important était GC. J'EMBEDDED Lua pour-apps interactives et des jeux, parce que GC supplémentaires requis. Actuellement Lua 5.1 a précise, GC incrémental, mais je ne pouvais pas trouvé aucune preuve de GC incrémental ou précises sur Mono. Ainsi, la mémoire fuira (même il est très petit!), Et des applications luttera par intermittence.

Les gens dit pause GC peut être résolu en réglant certains paramètres et la mise en commun des objets, mais comme je l'ai connu, il jamais être résolu sans aucune sorte de Distribution charge GC au fil du temps approche en GC. GC est l'un Generational de l'algorithme de distribution, mais il est trop rugueux, et presque pas utile.

Parce que vous ne pouvez pas contrôler modèle de vie ou de réutiliser par exemple en mettant en commun les objets utilisés dans le code qui ne vous appartient pas. (Comme bibliothèque de classes de base)

Je ne recommande pas la plate-forme C # (Mono ou .NET, au moins encore) pour des applications interactives / (soft) des applications en temps réel.


Modifier

Je ne sais pas si GC approché incrémentielle / concurrent est présenté sur Mono ou .NET. Si vous pouvez sûr de leur offrir le genre de GC, bien sûr, il est bon d'utiliser :)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top