この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 2093|答える: 7

[出典] .NET 8はC++のダイナミックリンクライブラリ内の関数を呼び出します

[リンクをコピー]
2024年12月8日 18:36:17に投稿 | | | |
要件:一部のアルゴリズムライブラリはC++で開発されており、C#バージョンはありません。C++で関数を呼び出すためにC#を使う方法は?

まず、新しいdemo.hヘッダーファイルを作成し、add addition関数を定義します。コードは以下の通りです:

以下のコードで新しいdemo.cppファイルを作成します:

mingw64ツールをダウンロードしてください:ハイパーリンクのログインが見えます。

D:\mingw64フォルダに展開し、cmdウィンドウの環境変数にmingw64/binフォルダを一時的に追加し、次のコマンドを使ってください:

g++コマンドを呼び出して、ソースコードを動的リンクライブラリにコンパイルします。

以下に示すように:



2つのファイル、demo.dllとdemo.libが生成されます。

新しい.NET 8コンソールプロジェクトを作成する

CppSharpパッケージを参照すると、.csprojプロジェクトファイルは次のように表示されます。

ILibraryインターフェースを実装するために新しいSampleLibraryオブジェクトを作成し、コードは以下の通りです:

.hによって、 。 libファイルはC++の関数からC#で呼び出せる.csファイルを生成します。コードは以下の通りです:

以下に示すように:



下の画像のように、demo.dllの中に加算メソッドを呼び出してみます:



フルコード:


ソースコードダウンロード:

観光客の皆さん、この投稿の隠された内容を見たい方は、どうぞ答える


参考:
ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。





先の:mkcertを使って自己署名ドメイン名証明書を作成してください
次に:Windows用のFastDeployソースコードコンパイルをダウンロードしてください
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 に投稿 |
シャオ・ザザ 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