JNI学习资料-有图有真相

 JNI学习资料-有图有真相 ,附件中可下载

 

1.java调用dll

 http://cabmjckx.blog.51cto.com/665504/606751

 

2.JNI中java类型与C/C++类型对应关系

  http://www.cnblogs.com/nicholas_f/archive/2010/11/30/1892124.html

 

3.java中引入dll

 

Java Native Interface wiki

官方文档

Java Native Interface Specification—Contents

 

开发中遇到的问题

1.自己封装DLL时,又调用了已发布的DLL,编译时会报错:

error LNK2005: _DllMain@12 already defined in xxx.OBJ 解决办法

解决方法:

1, 你只需要在工程设置里面,把

WIN32,NDEBUG,_WINDOWS,_MBCS,_USRDLL,MSGBOX_EXPORTS,_WINDLL,_AFXDLL

中的_USRDLL,删除,就可以正确编译了

参考博客:http://blog.csdn.net/yqzsl/article/details/6183428

 

2.JNI 中文字符串转换乱码的处理(zz)

 

 

------------------------------------

DLL中读取当前路径下的INI文件

 

ini文件

[ChinaPlate]
;车牌所在省份简称
Province="粤"
;最小车牌宽度
MinWidth=80

//你可以在这里读取配置文件中的信息
    char drive[_MAX_DRIVE];
    char dir[_MAX_DIR];
    char fname[_MAX_FNAME];
    char ext[_MAX_EXT];
    char CFGFileName[300];
    GetModuleFileName(NULL, CFGFileName,300);
    _splitpath(CFGFileName, drive, dir, fname, ext );   
    _makepath( CFGFileName, drive, dir, "LPKernel", "ini" );
    //读取配置参数
   
    plateConfigTh.nMinPlateWidth = GetPrivateProfileInt("ChinaPlate", "MinWidth", 1, CFGFileName);

 

char m_LocalProvince[10];
        GetPrivateProfileString("ChinaPlate", "Province","粤",m_LocalProvince,sizeof(m_LocalProvince), CFGFileName);

--------------------------------

扩展阅读:

JNA介绍

https://github.com/twall/jna

http://blog.csdn.net/shendl/article/details/3589676

android jni

Android JNI 实例  

Windows平台下如何使用Android NDK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值