我不确定这是否可行,但我需要将一个函数指针强制转换为long,以便将C级代码映射回java代码。
答案 0 :(得分:2)
指针的值是一个整数,你只需要知道你在做什么,并分配足够的存储空间来存储指针的值。 (在32位操作系统中,指针占用32位存储空间,在64位操作系统中,指针占用64位存储空间)。
一个C示例:
#include <stdio.h>
void fun()
{
printf("fun\n");
return;
}
typedef void (*fun_type)();
int main()
{
long long int a = (long long int)fun;
fun_type func_point = (fun_type)a;
func_point();
return 0;
}