Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 2093|Απάντηση: 7

[Πηγή] Το .NET 8 καλεί συναρτήσεις στη βιβλιοθήκη δυναμικής σύνδεσης C++

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 2024-12-8 18:36:17 | | | |
Απαιτήσεις: Ορισμένες βιβλιοθήκες αλγορίθμων αναπτύσσονται σε C++ και δεν υπάρχει έκδοση C#, πώς να χρησιμοποιήσετε τη C# για να καλέσετε συναρτήσεις στη C++;

Αρχικά, δημιουργήστε ένα νέο αρχείο κεφαλίδας demo.h και ορίστε μια συνάρτηση προσθήκης προσθήκης, ο κώδικας έχει ως εξής:

Δημιουργήστε ένα νέο αρχείο demo.cpp με τον ακόλουθο κώδικα:

Κατεβάστε το εργαλείο mingw64 στο:Η σύνδεση με υπερσύνδεσμο είναι ορατή.

Εξαγάγετε στο φάκελο D:\mingw64, προσθέστε προσωρινά το φάκελο mingw64/bin στη μεταβλητή περιβάλλοντος στο παράθυρο cmd και χρησιμοποιήστε την ακόλουθη εντολή:

Καλέστε την εντολή g++ για να μεταγλωττίσετε τον πηγαίο κώδικα σε μια βιβλιοθήκη δυναμικών συνδέσμων με την ακόλουθη εντολή:

Οπως φαίνεται παρακάτω:



Δημιουργούνται δύο αρχεία, το demo.dll και το demo.lib.

Δημιουργία νέου έργου κονσόλας .NET 8

Μετά την αναφορά στο πακέτο CppSharp, το αρχείο έργου .csproj διαβάζει:

Δημιουργήστε ένα νέο αντικείμενο SampleLibrary για να υλοποιήσετε τη διεπαφή ILibrary, ο κώδικας έχει ως εξής:

από .h, . lib δημιουργεί ένα αρχείο .cs που μπορεί να κληθεί από C# από μια συνάρτηση στη C++, ο κώδικας έχει ως εξής:

Οπως φαίνεται παρακάτω:



Δοκιμάστε να καλέσετε τη μέθοδο προσθήκης μέσα demo.dll, όπως φαίνεται στην παρακάτω εικόνα:



Πλήρης κωδικός:


Λήψη πηγαίου κώδικα:

Τουρίστες, αν θέλετε να δείτε το κρυφό περιεχόμενο αυτής της ανάρτησης, παρακαλώΑπάντηση


Αναφορά:
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.





Προηγούμενος:Χρησιμοποιήστε το mkcert για να δημιουργήσετε ένα αυτο-υπογεγραμμένο πιστοποιητικό ονόματος τομέα
Επόμενος:Λήψη της μεταγλώττισης πηγαίου κώδικα FastDeploy για Windows
Δημοσιεύτηκε στις 2024-12-9 13:26:40 |
Μαθαίνω να μαθαίνω
Δημοσιεύτηκε στις 2024-12-9 16:32:11 |
Ελάτε να παρακολουθήσετε
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2025-4-23 10:51:21 |
Λήψη τυπικής βιβλιοθήκης C++:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2025-4-23 16:49:21 |
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2025-6-17 17:19:08 |

Εκτελέστε χρησιμοποιώντας ένα κοντέινερ Docker με την ακόλουθη εντολή:

Αναφορά:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2025-6-18 09:43:12 |
Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Η σύνδεση με υπερσύνδεσμο είναι ορατή.(Αντιγράψτε Program.cs στο δικό σας έργο και εκτελέστε το μετά τη μεταγλώττιση, η δοκιμαστική δημιουργία είναι πολύ απλή και ελλιπής)

 Σπιτονοικοκύρης| Δημοσιεύτηκε στις 2025-6-18 14:05:22 |
Το SWIG (Simplified Wrapper and Interface Generator) είναι ένα εργαλείο ανοιχτού κώδικα που χρησιμοποιείται για τη μετατροπή κώδικα C/C++ σε κώδικα διεπαφής για πολλές γλώσσες προγραμματισμού υψηλού επιπέδου, υποστηρίζοντας γλώσσες όπως Python, Java, Ruby, C# κ.λπ., και χρησιμοποιείται συχνά για διαγλωσσική ανάπτυξη ή βελτίωση της απόδοσης των γλωσσών δέσμης ενεργειών.

Επίσημη ιστοσελίδα:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Πηγή:Η σύνδεση με υπερσύνδεσμο είναι ορατή.
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com