【C执行器】FP调用自定义函数的实现方法

1、脚本调用C执行器函数,形参只能是字符串,返回值只能是值,不能返回字符串

2、实参中的逗号会被转为_,需要自己进行拆解和转类型

3、脚本中的实参不能用Symbol,只能用具体的值

unsigned int usr_check1(char *param)
{
	char *p;
	long p1,p2;
	long ps1,ps2;
	struct odbpm pm1,pm2;
	short ret,i;
	p = strtok(param,"_");
	p1 = atol(p);
	p = strtok(NULL,"_");
	p2 = atol(p);
	ret = cnc_rdpmacro(p1,&pm1);
	if(ret){
		return 0;
	}
	else{
		ps1 = pm1.u.p6.mcr_val;
		for(i = 0;i < pm1.u.p6.dec_val;i++){
		ps1 /=  10;
		}
	}
	ret = cnc_rdpmacro(p2,&pm2);
	if(ret){
		return 0;
	}
	else{
		ps2 = pm2.u.p6.mcr_val;
		for(i = 0;i < pm2.u.p6.dec_val;i++){
		ps2 /= 10;
		}
	}
	if(ps1 == 0 || ps2 == 0){
		return 0;
	}
	else if (ps1 == pass(fn_getId(),ps2)){
		return 1;
	}
	else{
		return 0;
	}
}

  

posted @ 2021-09-14 14:04  Gargantua613  阅读(13)  评论(0)    收藏  举报