怎样在java中调用这段c++代码,大侠帮我看看啊
我想在java中调用这段c++代码
void parsepacket(CString strPath, char* outPutFile, int nPacket = 0)
{
typedef struct {
DWORD snoop_seconds;
DWORD snoop_msecs;
DWORD snoop_length_inc;
DWORD snoop_length_orig;
}eth_frame;
typedef struct {
WORD SourcePort;
WORD DestPort;
}POST_MM;
BOOL npSetFlag = FALSE;
if(nPacket > 0)
{
npSetFlag = TRUE;
}
POST_MM PostNum[50000];
FILE* fpmm[50000];
FILE *iFileHandle;
.......
.........
}
具体该怎样操作? 能否说详细点 谢谢
我用jni方法这么调用对不对啊?这个是PeelOff.cpp文件
void parsepacket(CString strPath, char* outPutFile, int nPacket = 0)
{
typedef struct {
DWORD snoop_seconds;
DWORD snoop_msecs;
DWORD snoop_length_inc;
DWORD snoop_length_orig;
}eth_frame;
typedef struct {
WORD SourcePort;
WORD DestPort;
}POST_MM;
BOOL npSetFlag = FALSE;
if(nPacket > 0)
{
npSetFlag = TRUE;
}
POST_MM PostNum[50000];
FILE* fpmm[50000];
FILE *iFileHandle;
.......
.........
}
JNIEXPORT void JNICALL Java_PeelOff_parsepacket
(JNIEnv * env, jclass cl, jstring a, jstring b, jint c)
{
parsepacket(a,b,c);
}
这个PeelOff.java文件
public class PeelOff
{
static
{
System.loadLibrary("PeelOff");
}
public native static void parsepacket(String strPath,String outPutFile,int nPacket);
}
然后我在别的java文件里调用parsepacket()这个方法就行了
不知道我上面的代码是否有问题啊?? 请大侠指点。编译生成dll文件有错误