ホームページ >バックエンド開発 >Python チュートリアル >C++ が動的ライブラリを呼び出す方法と、Python が C++ 動的ライブラリを呼び出すための 2 つの方法
ダイナミック ライブラリは、プログラムの実行時にロードされるライブラリ ファイルであり、プログラム自体のサイズを占有しません。
ダイナミック ライブラリ プロジェクトの選択:
##新しい .h および .cpp ファイルの作成:# cat.h #pragma once extern "C" _declspec(dllexport) int sum(int a, int b);
# cat.cpp #include "pch.h" #include "cat.h" extern "C" _declspec(dllexport) int sum(int a, int b) { return a + b; }ダイナミック ライブラリ パブリッシングのリリース バージョンを選択します。この例では ×64 ビットを使用します。 C ダイナミック ライブラリ メソッド 1 のインポート #空の C プロジェクトを作成し、ダイナミック ライブラリ プロジェクト内の .lib ファイルと .dll ファイルを現在のプロジェクトにコピーします。プロジェクト : C プロジェクトにダイナミック ライブラリ ヘッダー ファイルを追加します。現在のプロジェクトにコピーする必要はなく、既存の項目を追加するだけです。ここでは論理的に導入する必要がありますが、#include の場合は、.h ファイルのパスを使用します。絶対パスと相対パスの両方を使用できます。
#include #include "../../CATDLL/CATDLL/cat.h" using namespace std; #pragma comment(lib, "CATDLL.lib") int main() { cout << sum(1, 2) << endl; return 0; }
#include #include using namespace std; typedef int (*PSUM)(int, int); int main() { HMODULE hMoudle = LoadLibrary(TEXT("CATDLL.dll")); PSUM psum = (PSUM)GetProcAddress(hMoudle, "sum"); cout << psum(4, 5) << endl; FreeLibrary(hMoudle); return 0; }
import os from ctypes import * os.chdir("D:Cat课件CAT_CODINGC++项目开发MFC进阶和动态库注入辅助PYTEST") dll = cdll.LoadLibrary("CATDLL.dll") ret = dll.sum(1, 2) print(ret)このようにして、一般的に使用される多くの関数を C で動的ライブラリにすることができ、C や Python などの他の言語から呼び出すことができます。
以上がC++ が動的ライブラリを呼び出す方法と、Python が C++ 動的ライブラリを呼び出すための 2 つの方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。