Linux의 동적 공유 C 클래스 라이브러리
소개
C에서 공유 클래스 라이브러리 생성 및 활용 Linux는 어려운 작업이 될 수 있습니다. 이 문서에서는 객체 생성, 수정, 삭제를 포함하여 공유 C 클래스 라이브러리를 만들고 사용하는 과정을 다루는 포괄적인 가이드를 제공합니다.
공유 C 클래스 라이브러리 만들기
공유 C 클래스 라이브러리를 생성하려면 다음 단계를 따르세요.
공유 C 클래스 라이브러리 사용
생성된 공유 C 클래스 라이브러리를 사용하려면 다음을 따르세요. 다음 단계:
예 구현
다음 코드 조각은 간단한 공유 C 라이브러리(myclass.h, myclass.cc)와 이를 활용하는 C 프로그램(class_user.cc)을 보여줍니다. 라이브러리:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!