当前位置:编程学习 > JAVA >>

紧急求助,关于JNA的一个问题

刚刚接触JNA,,遇到一个问题。
调用一个已经封装好的dll,因为觉得直接调用有些复杂(很复杂,函数的很多参数都是结构体),所以我新建了一个C++,在里面写了一个demo(无参函数,用C++的main直接调用,不会报错)。然后,生成一个新的dll文件。然后由JAVA调用。
结果问题出现了,运行java时,报错。而且是直接弹出一个窗口,说
 javaw.exe-应用程序错误
应用程序发生异常 unknown software excption (0xc00000fd)……

以前写程序的时候从来没遇到过这样奇怪的问题,搞不清是为啥。走投无路下,就跑来求助了。
由于我不知道怎么查JNA程序错误会在哪,所以只好一行一行删代码查。
结果发现似乎在一开始声明变量的时候就报错了0 0.大概是
 CThostFtdcTraderApi *pUserApi[MAX_CONNECTION] = {0};
    CSimpleHandler *pSpi[MAX_CONNECTION] = {0};

    CTKSCosApi *pCosAPI = NULL;

    for (int i=0; i < MAX_CONNECTION; i++ )
    {
        // create a CThostFtdcTraderApi instance
        pUserApi[i] = CThostFtdcTraderApi::CreateFtdcTraderApi("./log");

        // create an event handler instance
        pSpi[i] = new CSimpleHandler(pUserApi[i]);
这部分的“pUserApi[i] = CThostFtdcTraderApi::CreateFtdcTraderApi("./log");”这里开始报错。这里后面的函数是从dll中调用的 --------------------编程问答-------------------- 求助
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,