CTP交易接口使用thosttraderapi.dll,如果创建一次连接和释放,每次增加32K
class CSimpleHandler :public CThostFtdcTraderSpi
{
public:
CSimpleHandler(CThostFtdcTraderApi *pUserApi) :m_pUserApi(pUserApi){};
~CSimpleHandler(){};
virtual void OnFrontConnected(){
printf("onfrontconnected\n");
CThostFtdcReqUserLoginField myLogin;
memset(&myLogin, 0, sizeof(myLogin));
strcpy_s(myLogin.BrokerID, "XXX");
strcpy_s(myLogin.UserID, "XXX");
strcpy_s(myLogin.Password, "XXXX");
m_pUserApi->ReqUserLogin(&myLogin, 0);
}
virtual void OnFrontDisconnected(int nReason){ printf("onfrontdisconnected\n"); }
virtual void OnRspUserLogin(CThostFtdcRspUserLoginField *pRspUserLogin, CThostFtdcRspInfoField *pRspInfo,
int nRequestID, BOOL bIsLast){
printf("OnRspUserLogin\n");/*SetEvent(g_hEvent);*/
}
private:
CThostFtdcTraderApi *m_pUserApi;
};
int main(int argc, char* argv[]) {
while (1)
{
CThostFtdcTraderApi *pUserApi = CThostFtdcTraderApi::CreateFtdcTraderApi();
CSimpleHandler *sh = new CSimpleHandler(pUserApi);
pUserApi->RegisterSpi(sh);
pUserApi->RegisterFront("tcp://180.168.146.187:10000");
pUserApi->Init();
Sleep(50);
pUserApi->RegisterSpi(NULL);
pUserApi->Release();
delete sh;
}
system("PAUSE");
}
以上程序每次创建一次连接和一次释放,从windows任务管理器上看程序内存会增加32K,由于thosttraderapi.dll是第三方库,是否有人有相关CTP开发,能否告知是什么原因?