dll中數(shù)據(jù)調(diào)用的問題 [金字塔]
-
咨詢內(nèi)容:
我在dll中調(diào)用以下函數(shù)中data.size()?不為空。__declspec(dllexport) int WINAPI kxian(CALCINFO* pData)
{
if(pData->m_nNumData>0)
{
ChanlunCore::GetInstance()->initKx(pData);
ChanlunCore::GetInstance()->initFX();
// 返回結(jié)果集
int i=0;
KXDATA data = ChanlunCore::GetInstance()->getCkxData();
for(C_CKXIT it = data.begin(); it != data.end(); it++)
{
pData->m_pResultBuf[i] = it->flag;
i++;
}
ofstream write;?
write.open("D:\\lc\\KXIAN.txt", ios::app);
write << "data.size()" << data.size() << "\n";
return 0;
}
return -1;
}
但是在第二次獲取data數(shù)據(jù)時 ,data數(shù)據(jù)就獲取不到了, data.size()為0.__declspec(dllexport) int WINAPI kxg(CALCINFO* pData)
{
int i=0;
KXDATA data = ChanlunCore::GetInstance()->getCkxData();
for(C_CKXIT it = data.begin(); it != data.end(); it++)
{
pData->m_pResultBuf[i] = it->high;
i++;
}
ofstream write; //write只是個名字 你可以定義為任何其他的名字
write.open("D:\\lc\\kxg.txt", ios::app);
write << "data.size()" << data.size() << "\n";
return 0;
}
這是什么情況??
?來源: CXH99.COM
-
金字塔客服:
您的問題正在處理,請您耐心等待。
?
-
用戶回復(fù):
我們進(jìn)行調(diào)試的話,日志是我們的一大法寶。1要先確定數(shù)據(jù)初始化kxian()函數(shù)是不是在使用數(shù)據(jù)的kxg()函數(shù)之前調(diào)用的。2要確定ChanlunCore的single再這中間不會析構(gòu)導(dǎo)致再第一函數(shù)中的數(shù)據(jù)被清理掉。
建議:編程時盡量保持模塊的獨(dú)立性,去除模塊相關(guān)性,尤其是隱形相關(guān)。
有思路,想編寫各種指標(biāo)公式,程序化交易模型,選股公式,預(yù)警公式的朋友
可聯(lián)系技術(shù)人員 QQ: 511411198 進(jìn)行 有償 編寫!(不貴!點(diǎn)擊查看價格!)
相關(guān)文章
-
沒有相關(guān)內(nèi)容