Cython包装C++虚拟函数

2024-10-01 09:28:15 发布

您现在位置:Python中文网/ 问答频道 /正文

< C++标题报头>:

class MdSpi
{ 
    public:
        virtual void OnFrontConnected(){};
        virtual void OnFrontDisconnected(int nReason){};
        virtual void OnHeartBeatWarning(int nTimeLapse){};
}

class MdApi
{
public:

    static MdApi *CreateMdApi(const char *FlowPath = "");

    virtual void Release() = 0;

    virtual void Init() = 0;

    virtual int Join() = 0;

    virtual const char *GetTradingDay() = 0;

    virtual void RegisterFront(char *pszFrontAddress) = 0;

    virtual void RegisterSpi(MdSpi *pSpi) = 0;
protected:
    ~MdApi(){};
}

Cython文档没有提供关于C++虚拟或纯虚函数的任何介绍。在

我知道如何定义从虚拟类继承的c++头。在

^{pr2}$

在主.cpp公司名称:

#include “MdSpi.h”

MdSpi g_MdSpi;
MdApi *g_MdApi = NULL;

int main(int argc, char* argv[])
{

  g_MdApi = CKSGMdApi::CreateMdApi();
  g_MdApi->RegisterSpi(&g_MdSpi);
  g_MdApi->Init();
  g_MdApi->Release();

  return 0;
}

如何定义pxd中的虚函数,或者如何定义pyx文件?在


Tags: 函数release定义initvirtualpublicclassint