Y a-t-il des outils pour le portage c ++ code c # code? [fermé]
-
26-09-2019 - |
Question
J'ai deux c ++ services publics que je voudrais au port vers dot net. Je me demandais s'il existe des outils pour le portage d'un c ++ application c #?
J'imagine que tout outil automatisé serait un gâchis de tout code, donc peut-être, je demanderai aussi si cela est une bonne idée ou non?
La solution
La meilleure question est pourquoi vous déjà juste code de travail port sans obtenir la valeur ajoutée (c.-à-nouvelles fonctionnalités)? L'effort sera presque cetainly être plus difficile et plus long que prévu. Mieux, utiliser les nombreuses fonctionnalités Interop de .Net pour appeler votre code C ++ de C #. Mettre l'accent sur l'ajout de nouvelles fonctionnalités en C #, mais le code de travail ne perdez pas votre temps portage.
Autres conseils
- Clavier.
- Souris.
- Moniteur.
- café.
- Recherche d'expression régulière et remplacer.
Bien sûr, il est un marché animé . Allant de C ++ C # vous donne quelque chose que peut compiler proprement. Faire le travail prend en fait il une ligne par ligne, « oh Gawd je me tirer tomorow » effort. YMMV.
Cela aurait dû être un commentaire. Mais je n'ai pas assez de pouvoirs pour publier un commentaire. Ce n'est pas exactement pertinente à votre question. Je pensais que ce sera utile pour vous.
C ++ -> C #: Ce que vous devez savoir pour déplacer de C ++ C #
Mon entreprise, Semantic Designs a un outil qui converti de C ++ C #. Il gère les constructions de langage de base de conversion de C ++ (données / déclarations de classe, les déclarations exécutables) à C #. L'outil de traduction est basé sur le logiciel DMS Reengineering Toolkit .
Il faut traduire la personnalisation à la poignée des constructions exotiques (appels COM, vos API personnalisés, ...) à C #. Tout outil que vous trouverez peut-être besoin d'une telle personnalisation sera; aucun outil impromptu peut pratiquement répondre à votre ensemble complet de circonstances spécifiques.
Qu'en est-il du C ++ / CLI du compilateur, qui produit des assemblages .NET à partir du code C ++. Finalement, vous aurez envie de retravailler les points d'entrée pour accepter les types .NET (par exemple System::String
au lieu du char *
classique), mais vous aurez la chance de .NET beaucoup plus rapidement par ne pas utiliser C #. Il y a aussi des conversions automatiques entre C ++ / CLI et C #, mais seulement après le code C ++ est .NETified (la conversion précitée à System::String
, generic<typename T> System::Collections::Generic::List
, etc.)