Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

C++ dll σε C#

Îåêßíçóå áðü ôï ìÝëïò kitsoulas. Τελευταία δημοσίευση από το μέλος kitsoulas στις 26-09-2006, 20:00. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  26-09-2006, 18:10 17245

    C++ dll σε C#

    Προσπαθώ να φτιάξω μια εφαρμογή για windows mobile 5.0 η οποία να λειτουργεί ως  UPnP control point.

    Το πρόβλημά μου είναι πως τα SDK για UPnP της Intel kai Siemens είναι γραμμένα για c++.

    Θέλω να χρησιμοποιήσω C# γιατί δεν γνωρίζω καλά να κάνω applications με MFC.

    Πώς μπορώ να χρησιμοποιήσω τα dll της C++ σε c#?

    Ευχαριστώ πολύ.

     

  •  26-09-2006, 19:16 17246 σε απάντηση της 17245

    Απ: C++ dll σε C#

    Αν τα APIs που δίνουν τα SDKs αυτά είναι δηλωμένα σαν extern "C", τότε μπορείς να χρησιμοποιήσεις Platform Invoke για να τα καλέσεις. Αν όμως είναι πραγματικά C++ (δηλαδή τα exports είναι name mangled) τότε μπορώ να σκεφτώ δύο δυνατότητες:

    • Να γράψεις wrapper library σε C++ που βγάζει APIs με extern "C" και μετά να τα καλέσεις με P/Invoke. Έτσι βέβαια χάνεις το όποιο object orientation προσφέρει το API.
    • Να φτιάξεις μια assembly σε C++ με managed κλάσεις που κάνουν forwarding στις κλάσεις του SDK, και μετά να κάνεις την εφαρμογή σε C# χρησιμοποιώντας αυτή σαν SDK.

    Νατάσα Μανουσοπούλου
  •  26-09-2006, 20:00 17247 σε απάντηση της 17246

    Απ: C++ dll σε C#

    Ευχαριστώ πολύ! Πίστευα ότι θα υπήρχε πιο εύκολος τρόπος αλλα τελικά θα δοκιμάσω το Platform Invoke.

Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems