Comment appeler .NET de c ++ de manière indépendante de la plate-forme

J’ai une application C ++ à partir de laquelle je veux appeler les méthodes .NET (C #). J’allais utiliser C++/CLI , mais il n’est pris en charge que sous Windows.

Depuis que nous supportons aussi le MAC, je voudrais appeler .NET depuis C ++ de manière à fonctionner à la fois sous Windows et Mac (avec Mono).

Quelle est la meilleure façon de procéder?

EDIT: Je devrais append que le code c # que nous souhaitons appeler n’est pas le nôtre. Nous n’avons aucun moyen d’y apporter des modifications. Le code c ++, bien sûr, est le nôtre.

Le moyen le plus simple consiste à exposer la fonctionnalité via un pointeur de fonction. Le code .Net et le code natif peuvent interagir avec le code C / C ++ sous la forme d’un pointeur de fonction. Les pointeurs de fonction sont pris en charge sur toutes les plates-formes sur lesquelles le code C ++ s’exécute. Il peut donc être écrit sans aucune compréhension de .Net.