如何从JNI传递std :: list参数来调用本机c ++函数

时间:2018-01-16 10:33:11

标签: java c++ java-native-interface

我正在编写一个JNI包装器来调用NFIQ dll中的本机c ++方法。

方法签名如下:

unsigned int computeQualityScore(
            NFIQ::FingerprintImageData rawImage, 
            bool bComputeActionableQuality, std::list<NFIQ::ActionableQualityFeedback> & actionableQuality,
            bool bOutputFeatures, std::list<NFIQ::QualityFeatureData> & qualityFeatureData,
            bool bOutputSpeed, std::list<NFIQ::QualityFeatureSpeed> & qualityFeatureSpeed);

从JNI包装类代替std::list<NFIQ::QualityFeatureSpeed> & qualityFeatureSpeed传递的java等效参数是什么?

非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

基本上,您希望在C ++代码中执行一个帮助程序,为您准备包装器。

以下示例几乎与您的相同(仅std::vector而不是std::list):

Pass, return and convert to vectors list of lists over JNI