Domanda

Ho un paio c ++ utilità che vorrei porta verso dot net. Mi chiedevo se ci sono strumenti per il porting di un'applicazione C ++ a C #?

immagino che qualsiasi strumento automatico potrebbe fare un pasticcio di qualsiasi codice, così forse, dovrei anche chiedere se questa è una buona idea o no?

È stato utile?

Soluzione

La domanda migliore è perché mai solo porta il codice di lavoro senza aumentare di valore aggiunto (cioè nuove funzionalità)? Lo sforzo sarà quasi cetainly più difficile e richiedere più tempo del previsto. Meglio, utilizzare le numerose funzionalità di interoperabilità di .Net per chiamare il codice C ++ da C #. Focus su l'aggiunta di nuove funzionalità in C #, ma non perdete il vostro tempo porting codice funzionante.

Altri suggerimenti

  1. Tastiera.
  2. Mouse.
  3. Monitor.
  4. Caffè.
  5. ricerca di espressioni regolari e sostituire.

Certo, si tratta di un vivace mercato . Andando da C ++ a C # ti dà qualcosa che potrebbe compilazione in modo pulito. Fare in realtà lavoro prende una linea per linea, "oh gawd mi sparo tomorow" sforzo. YMMV.

Questo avrebbe dovuto essere un commento. Ma io non ho abbastanza credenziali per inserire un commento. Questo non è esattamente rilevante per la tua domanda. Ho pensato che sarà utile per voi.

C ++ -> C #: Cosa è necessario sapere del passaggio da C ++ a C #

La mia azienda, Designs Semantic dispone di uno strumento che converte da C ++ a C #. Gestisce i costrutti di base del linguaggio di conversione da C (dichiarazioni di dati / classe, istruzioni eseguibili) ++ a C #. Lo strumento di traduzione si basa su DMS Software Reengineering Toolkit .

Ha bisogno di personalizzazione per tradurre maniglia costrutti esotici (chiamate COM, le vostre API personalizzate, ...) per C #. Qualsiasi strumento si potrebbe trovare avrà bisogno di tale personalizzazione; no off-the-shelf strumento può praticamente affrontare la vostra serie completa di specifiche circostanze.

Come circa il C ++ / CLI compilatore, che produce NET assembly dal codice C ++. Alla fine ti consigliamo di rielaborare i punti di ingresso ad accettare tipi .NET (ad esempio System::String al posto del char * classico), ma si arriva a .NET molto più veloce non usando C #. Ci sono anche conversioni automatizzate tra C ++ / CLI e C #, ma solo dopo che il codice C ++ è .NETified (la conversione suddetto a System::String, generic<typename T> System::Collections::Generic::List, ecc.)

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