哪个网站有ae免费模板/百度官网认证多少钱
cong www.swig.org 可以下载最新的swig
具体配置参照下载中的example\java部分,在vc++环境中生成dll时候,需要预先设置好一些变量
如下:
JAVA_INCLUDE
JAVA_BIN
SWIG
其中swig为下载包的解开目录。
特别注意在编译生成dll时候, 工程中必须已经包装文件了(example_wrap.cxx),否则生成的dll,在运行时候出现异常!!!
包装文件 既可以在初始时候引入空文件,也可以先编译一次,生成_wrap.cxx文件,然后将其加入到工程中,再重新编译链接即可。
可以参考本blog中的小例子(java调用普通c函数, 在c函数中再创建内部类)
以及其中的利用 c 编写的用户口令加密解密的函数(在java中调用)
注意事项: tomcat jsp servlet 中 调用 JNI,SWIG 的问题
java 能够调用dll 中的 c/c++函数, 内部机制主要通过控制dll导出函数的名字,因此上面特意强调需要载工程中引入 _wrap.cxx 的重要性。
当需要 java 的 包 package 时候, 要特别注意,dll导出函数名的问题,否则将会找不到dll对应的native code 函数, 关键就是要在 vc环境中设置 -package 选项。
例如:
%SWIG%\swig.exe -c++ -java -package com.test.swig $(InputPath)
当jni类需要改变 包 名称 地址 后, 一定需要重新在编译链接 该dll 文件!!!