Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 2093|Відповідь: 7

[Джерело] .NET 8 викликає функції в бібліотеці C++ Dynamic Link

[Копіювати посилання]
Опубліковано 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 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com