jni中的JNICALL放在返回值类型和函数名之间是什么意思,C语言中有这种写法吗?请举个例子
JNIEXPORTjintJNICALLJava_com_android_jnidemo2_MainActivity_add(JNIEnv*,jobject,jint,j...
JNIEXPORT jint JNICALL Java_com_android_jnidemo2_MainActivity_add(JNIEnv *, jobject, jint, jint);中的JNICALL时什么意思,我记得函数的声明是:“返回值类型 函数名(形参列表);” JNI的这种写法不是很理解,麻烦讲解一下
展开
1个回答
展开全部
这些宏定义是给编译器用的:
/*
* @(#)jni_md.h 1.14 03/12/19
*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
#ifndef _JAVASOFT_JNI_MD_H_
#define _JAVASOFT_JNI_MD_H_
#define JNIEXPORT __declspec(dllexport)
#define JNIIMPORT __declspec(dllimport)
#define JNICALL __stdcall
typedef long jint;
typedef __int64 jlong;
typedef signed char jbyte;
#endif /* !_JAVASOFT_JNI_MD_H_ */
表示了函数的调用规范,比如参数是从左往右,还是从右往左。你可以阅读一下二维码连接的这篇codeproject上的文章,写的很详细。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询