Tutta la mia applicazione (che è piuttosto grande, con un eseguibile da 20 MB) è scritta in C++ non gestito. Perché posso vedere chiaramente i vantaggi nell'utilizzo del codice gestito, voglio iniziare a introdurre il codice gestito nella mia applicazione, ma da dove comincio?La mia domanda non è gestita. Dove posso iniziare a introdurre il codice gestito?
Posso iniziare facilmente a utilizzare C++/CLI e collegarlo al resto della mia applicazione? (anche se la sintassi C++/CLI sembra piuttosto "esotica").
O è meglio passare a C#, ma qual è il modo migliore per "collegarlo" insieme al mio codice C++ non gestito?
Ha senso compilare tutto il mio codice C++ con l'opzione/clr? Funzionerà?
Devo preoccuparmi del marshalling? Ciò comporta un sovraccarico o posso passare da gestionale a non gestito senza penalizzazione delle prestazioni (come ho fatto 20 anni fa quando mischiavo fortran e C). Le prestazioni sono molto importanti nella mia applicazione poiché si tratta di un'applicazione scientifica che a volte elabora diversi gigabyte di memoria.
Oppure ha senso ridisegnare l'interfaccia utente e scriverlo solo in C# e conservare il resto della mia applicazione (logica di calcolo, logica aziendale, interfaccia database, ...) in C++ non gestito?
Poiché la mia applicazione a volte ha bisogno di gestire diversi gigabyte di memoria, ho una variante a 64 bit. È facile avere un codice gestito a 64 bit? Woudl il garbage collector è ancora efficiente se viene usata così tanta memoria?
Basta indicare: da dove iniziare?
Patrick
Managed C++ non è né pesce né pollo - lo eviterei se possibile. –