Ciao a tutti, volevo sapere come posso fare per riutilizzare delle librerie C in un programma C#.
grazie
Ciao a tutti, volevo sapere come posso fare per riutilizzare delle librerie C in un programma C#.
grazie
Ho spostato la discussione nel forum dedicato ai linguaggi per il .NET Framework.
MARCO BREVEGLIERI
Software and Web Developer, Teacher and Consultant
Home | Blog | Delphi Podcast | Twitch | Altro...
Se si tratta di dll "standard" o COM basta usare PInvoke per le prime (attributo DllImport) e COM interop per le seconde.
Amaro C++, il gusto pieno dell'undefined behavior.
La libreria è una libreria standard C standard, solo che non è una DLL, sono file .h e .c,
qui se non ho capito male, la devo portare in una DLL (in C++) e poi importarla in C#.
Puoi anche semplicemente riadattare il codice C in C#, anche se è piuttosto complicato. Piuttosto puoi, come dici tu, creare una dll C che esporti le tue funzioni e chiamarla tramite PInvoke.
Amaro C++, il gusto pieno dell'undefined behavior.
Visto che non sono ungran esperto di Visual Studio e programmazione sotto windows, ecco quello che ho fatto per ora:
-Ho creato un nuovo progetto Visual C++, per creare una DLL
-Nel file che mi ha aperto ci ho incollato il codice del mio file .h principale e ho compilato il tutto.
Non mi ha dato errori, ma come faccio ora per utilizzare le funzioni della libreria in C#, mi basta fare un import della DLL o cosa....
![]()
Devi aggiungere il .h, il .c e dichiarare le funzioni che vuoi esportare come __dllexport o (più semplice) usare un file .def per definire le funzioni che intendi esportare. Quindi devi importare i C# le funzioni esportate dalla dll con l'attributo DllImport (dai un'occhiata alla MSDN).
Amaro C++, il gusto pieno dell'undefined behavior.
Ragazzi ma una guida in italiano un po più seria di quella MSDN non c'è...servirebbe molto anche a me.... che devo importare openCV in C#.....Originariamente inviato da MItaly
Devi aggiungere il .h, il .c e dichiarare le funzioni che vuoi esportare come __dllexport o (più semplice) usare un file .def per definire le funzioni che intendi esportare. Quindi devi importare i C# le funzioni esportate dalla dll con l'attributo DllImport (dai un'occhiata alla MSDN).
FestaDj.it - DeeJay per feste musica per l'intrattenimento
ExpoLine.it - Passatempo e Risorse per Webmaster.
SuperAst.it - Mercatino web annunci gratuiti.
Cos'ha che non va la MSDN? È una delle documentazioni migliori e più complete che ci siano in circolazione...
Amaro C++, il gusto pieno dell'undefined behavior.
Scusa MItaly se non ti ho ne risposto ne ringraziato, ma mi era andato in tealt l'account del forum, ora sembra rifunzionare...
Ora vedo di mettermi a fare quello che mi hai detto...
ancora tante grazie....se mi impallo sappi che ti ricontatto...
![]()