Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [C#]Riutilizzo di vecchio codice C

    Ciao a tutti, volevo sapere come posso fare per riutilizzare delle librerie C in un programma C#.


    grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    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...

  3. #3
    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.

  4. #4
    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#.

  5. #5
    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.

  6. #6
    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....


  7. #7
    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.

  8. #8
    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).
    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#.....
    FestaDj.it - DeeJay per feste musica per l'intrattenimento
    ExpoLine.it - Passatempo e Risorse per Webmaster.
    SuperAst.it - Mercatino web annunci gratuiti.

  9. #9
    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.

  10. #10
    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...


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.