Interoperabilità .NET con C++ CLI

di Cristian Civera, in .NET,

In quest'ultimo periodo mi sono addentrato in un mondo che ho sempre ammirato, ma che non ho mai avuto il coraggio di provare: il C++ CLI. Ammirato perché già non ho mai usato C++, figuriamoci un linguaggio più evoluto. Per chi non lo sapesse, infatti, C++ CLI è un linguaggio standard ECMA evoluzione delle Managed Extensions C++ e quindi di C++ che permette di mettere in comunicazione il mondo managed .NET con quello unmanaged.

Questo vuol dire che è possibile scrivere DLL che contengano sia codice nativo che lavori con qualsiasi API, sia codice managed che faccia uso poi di classi native. Oltre a ciò è possibile ottenere il codice di interop in automatico scrivendo direttamente da codice managed chiamate a tipi o funzioni native. Così facendo si riduce al minimo il marshaling dei tipi e C++ CLI diventa l'ideale per scrivere classi che permettano di beneficiare dei pregi dei due mondi.
Se avete avuto modo di usare la classe Marshal di System.Runtime.InteropServices sapete delle fatiche che si devono compiere per le strutture ecc e apprezzerete sicuramente questo nuovo strumento.

Beh insomma dopo un po' che ci sto lavorando devo dire che è ganzissimo. Ti senti come Peter Petrelli quando si ritrova tutti quei poteri. Come il personaggio nel senso che come lui non sono capace di usarli e mi fermo fra elementari ostacoli come conversione dei tipi, utilizzo delle librerie e puntatori. Pian piano però sto prendendo possesso di questi poteri, quindi più avanti vi illustrerò cosa sono riuscito a fare.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese