编写DLL文件的。帮看哪错了。

编写DLL文件的。帮看哪错了。

declspec(dllexport) int WINAPI TEST(CALCINFO* pData) { if(pData->m_pfParam1 && pData->m_nParam1Start<0 && pData->m_pfParam2==NULL && pData->m_dataType==2) { #define w3(i) pData->m_pDataEx.m_fSellPrice[2] #define w2(i) pData->m_pDataEx.m_fSellPrice[1] #define w1(i) pData->m_pDataEx.m_fSellPrice[0] #define w3v(i) pData->m_pDataEx.m_fSellVol[2] #define w2v(i) pData->m_pDataEx.m_fSellVol[1] #define w1v(i) pData->m_pDataEx.m_fSellVol[0] #define m3(i) pData->m_pDataEx.m_fBuyPrice[2] #define m2(i) pData->m_pDataEx.m_fBuyPrice[1] #define m1(i) pData->m_pDataEx.m_fBuyPrice[0] #define m3v(i) pData->m_pDataEx.m_fBuyVol[2] #define m2v(i) pData->m_pDataEx.m_fBuyVol[1] #define m1v(i) pData->m_pDataEx.m_fBuyVol[0] float hwv[pData->m_nNumData]; float hmv[pData->m_nNumData]; float zdz[pData->m_nNumData],zxz[pData->m_nNumData]; int i,j,k; int nParam1,nParam2; int nLast =pData->m_nNumData-1; nParam1 = (int)(*pData->m_pfParam1); nParam2 = (int)(*pData->m_pfParam2); if(nParam2>nLast) nParam2=nLast; for(i=0; i<=nLast; i++) { zdz=0; zxz=9999999; if(zdz<w1(i)) zdz=w1(i); if(zdz<w2(i)) zdz=w2(i); if(zdz<w3(i)) zdz=w3(i); if(zdz<m1(i)) zdz=m1(i); if(zdz<m2(i)) zdz=m2(i); if(zdz<m3(i)) zdz=m3(i); if(zxz>w1(i) && w1(i)) zxz=w1(i); if(zxz>w2(i) && w2(i)) zxz=w2(i); if(zxz>w3(i) && w3(i)) zxz=w3(i); if(zxz>m1(i) && m1(i)) zxz=m1(i); if(zxz>m2(i) && m2(i)) zxz=m2(i); if(zxz>m3(i) && m3(i)) zxz=m3(i); zdz+=0.004; zxz-=0.004; hwv=0; hmv=0; if(i<=nParam2) { if(nParam1==1) { for(j=i-1; j>=0; j--) { if(w1(j)>zdz) { hwv+=w1v(j); for(k=i; k>j; j--) { if(w1(j)<zdz[k]) { hwv-=w1v(j); break;}}} if(w2(j)>zdz) { hwv+=w2v(j); for(k=i; k>j; j--) { if(w2(j)<zdz[k]) { hwv-=w2v(j); break;}}} if(w3(j)>zdz) { hwv+=w3v(j); for(k=i; k>j; j--) { if(w3(j)<zdz[k]) { hwv-=w3v(j); break;}}} } }else { for(j=i-1; j>=0; j--) { if(m1(j)<zxz) { hmv+=m1v(j); for(k=i; k>j; j--) { if(m1(j)>zxz[k]) { hmv-=m1v(j); break;}}} if(m2(j)<zxz) { hmv+=m2v(j); for(k=i; k>j; j--) { if(m2(j)>zxz[k]) { hmv-=m2v(j); break;}}} if(m3(j)<zxz) { hmv+=m3v(j); for(k=i; k>j; j--) { if(m3(j)>zxz[k]) { hmv-=m3v(j); break;}}} } } } hwv+=w1v(i)+w2v(i)+w3v(i); hmv+=m1v(i)+m2v(i)+m3v(i); if(nParam1==0) *(pData->m_pResultBuf+i)=*(hmv+i); else pData->m_pResultBuf=*(hwv+i); } return 0; } return -1; }
我也来说两句 查看全部回复

最新回复

  • heqs (2008-7-27 21:02:46)

    帮顶,学习!
  • zjxte (2008-8-01 09:31:03)

    太复杂了哇,看了不头疼啊
  • wgcpsxj (2008-8-01 12:41:32)

    帮顶,学习!