Linux 上の動的共有 C クラス ライブラリ
概要
C での共有クラス ライブラリの作成と利用Linux は困難な作業になる可能性があります。この記事では、オブジェクトの作成、変更、破棄など、共有 C クラス ライブラリの作成と使用のプロセスを説明する包括的なガイドを提供します。
共有 C クラス ライブラリの作成
へ共有 C クラス ライブラリを作成するには、次の手順に従います。
共有 C クラス ライブラリの使用
共有 C クラス ライブラリを使用するには
実装例
次のコード スニペットは、単純な共有 C ライブラリ (myclass.h、myclass.cc) と C プログラム (class_user.cc) を示しています。を利用するlibrary:
myclass.h:
class MyClass { public: MyClass(); virtual void DoSomething(); private: int x; };
myclass.cc:
extern "C" MyClass* create_object() { return new MyClass; } extern "C" void destroy_object(MyClass* object) { delete object; } MyClass::MyClass() { x = 20; } void MyClass::DoSomething() { cout << x << endl; }
class_user.cc:
MyClass* (*create)(); void (*destroy)(MyClass*); create = (MyClass* (*)())dlsym(handle, "create_object"); destroy = (void (*)(MyClass*))dlsym(handle, "destroy_object"); MyClass* myClass = (MyClass*)create(); myClass->DoSomething(); destroy(myClass);
コンパイル(Linux):
g++ -fPIC -shared myclass.cc -o myclass.so g++ class_user.cc -ldl -o class_user
次の手順に従うことで、Linux 上で動的共有 C クラス ライブラリを正常に作成して使用できます。
以上がLinux 上で動的共有 C クラス ライブラリを作成して使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。