NDK - 调用函数传参数错误问题

来源:互联网 发布:防火知多少活动反思 编辑:程序博客网 时间:2024/06/05 04:01

NDK - 调用函数传参数错误问题

问题的现象

Jni A文件调用其他C文件定义的函数;
frustM(float a, float b, float c);

过程

  1. 在Jni A文件中 frustM(2.0f, -3.0f, 10.0f);
  2. 在frustM函数的实现文件中添加打印LOGI(三个传入的参数);
  3. ndk-build编译代码无错误通过,也没有警告
  4. 打印结果为frustM(a=0.000000, b=2.000000, c=0.000000);

研究过程

  1. 怀疑float问题
  2. 怀疑溢出问题

最终结局原因

在A文件没有引入包含frustM()函数的头文件.

解决办法

在A文件中添加包含frustM()函数的头文件.

提醒

NDK编译时不考虑调用函数是否包含头文件,但是不包含的话会很严重的错误.

0 0