2010-10-13 13 views
5

Questo NON è un dubbio di programmazione!Linguaggio di programmazione per la creazione di DLL: C++ o C#

Ho intenzione di scrivere una DLL per alcune applicazioni. Ho due opzioni tra cui scegliere: C++ o C# In quale lingua dovrei scrivere DLL?

Ciò influisce sulla funzionalità?

Sono un newbie completamente nuovo e inconsapevole di C++ e C# (ma alcuni piccoli programmi in C#).

Quali sono i pro e i contro di scrivere DLL in C++ o C#?

Grazie mille per il vostro tempo!

Cordiali saluti, Swanand!

+1

Le votazioni per chiudere come soggettivo e polemico. –

+0

Grazie a tutti .... Quindi, sto andando da C# way .... – Swanand

+0

Parlaci dello scopo della DLL ... – Shog9

risposta

18

una DLL viene meglio scritto in C :)

Mi spiego:

Il concetto di DLL è stato creato quando ther was C senza di oggi ++. È stato creato per C. È possibile scrivere DLL con C++ ma sarà possibile utilizzarli facilmente solo da applicazioni scritte con la stessa versione dello stesso compilatore della DLL. Una DLL C può essere utilizzata da .NET, a differenza del C++ (sì, lo so, tecnicamente può, ma è un dolore nei glutei).

Se si crea DLL con C# (o qualsiasi altro linguaggio .NET), è completamente un'altra cosa - non è una DLL di Windows, è solo un assembly .Net senza un punto di ingresso (Principale), quindi può essere utilizzato da altri assembly .NET facendo riferimento alla DLL.

In sintesi:

  1. Se è necessario utilizzare la DLL da linguaggi .NET - scrivere in C#, non sarà una DLL di Windows, basta un assieme. Molto facile da usare.

  2. Se è necessario utilizzare la DLL da SOLO C++ e SOLO da applicazioni scritte dallo stesso compilatore, scrivere in C++. Non portatile, facile da usare.

  3. Se si desidera creare una libreria generica da cui è possibile utilizzare.NET, C, C++ e indipendentemente dal compilatore, usa le funzioni freestanding C o C++ contrassegnate come extern "C" e con parametri C-like, come puntatori e POD.

HTH

+0

@Alexandre: buon punto, ho solo intuito che dal momento che l'OP è nuovo a Dll'l è possibile che non abbia idea di cosa sia COM :) –

+0

Una DLL è spesso meglio scritta con un'interfaccia C ma è spesso più facile scrivere con lo standard C++ sotto. – CashCow

6

Dipenderà dall'applicazione di destinazione. Se stai scrivendo un'app Win32, allora C++ potrebbe essere una scelta saggia. Se stai sviluppando una libreria riutilizzabile in .NET, scegli C#.

2

Quando si dice C++ ci si riferisce allo Standard C++ o alla versione "Gestita"?

Se ci si riferisce a quest'ultimo, non si sta peggio di scrivere in C# come Managed C++ è un linguaggio .NET alternativo, e in realtà penso che si disponga di più funzionalità disponibili, anche se non è un linguaggio semplice per scrivi come C#.

1

Pro e contro non cambiare per una libreria, se intendi gestito C++. Ma per la codifica, la facilità d'uso e le librerie disponibili sono importanti. Vorrei suggerire C# dato che dici di essere un principiante. È molto più facile e hai MOLTE fonti online. Ma se si prevede di utilizzare un codice nativo e di avere bisogno del supporto CLR, C++ è l'unica scelta.

Buona fortuna

+0

Grazie mille per i suggerimenti Ali! – Swanand

Problemi correlati