Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 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 |
Ела да гледаш
 Хазяин| Публикувано на 23.04.2025 10:51:21 |
Изтегляне на C++ Стандартна библиотека:Входът към хиперлинк е видим.
 Хазяин| Публикувано на 23.04.2025 16:49:21 |
 Хазяин| Публикувано на 2025-6-17 17:19:08 |
Xiao Zhazha Публикувано на 2025-4-23 16:49
https://github.com/dotnet/ClangSharp

Изпълнете с помощта на 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