您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CHECKOP函数代码示例

51自学网 2021-06-01 20:00:21
  C++
这篇教程C++ CHECKOP函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CHECKOP函数的典型用法代码示例。如果您正苦于以下问题:C++ CHECKOP函数的具体用法?C++ CHECKOP怎么用?C++ CHECKOP使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CHECKOP函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: prim_event_exists

voidprim_event_exists(PRIM_PROTOTYPE){    CHECKOP(1);    oper1 = POP();		/* str: eventID to look for */    if (oper1->type != PROG_STRING || !oper1->data.string)	abort_interp("Expected a non-null string eventid to search for.");    result = muf_event_exists(fr, oper1->data.string->data);    CLEAR(oper1);    PushInt(result);}
开发者ID:foxbird,项目名称:fuzzball,代码行数:14,


示例2: prim_prettylock

void prim_prettylock(PRIM_PROTOTYPE){    const char *ptr;    CHECKOP(1);    oper1 = POP();		/* lock: lock */    if (oper1->type != PROG_LOCK)	abort_interp("Invalid argument");    ptr = unparse_boolexp(ProgUID, oper1->data.lock, 1);    CHECKOFLOW(1);    CLEAR(oper1);    PushString(ptr);}
开发者ID:CyberLeo,项目名称:protomuck,代码行数:14,


示例3: prim_lreverse

voidprim_lreverse(PRIM_PROTOTYPE){	int i;	CHECKOP(1);	oper1 = POP();	if (oper1->type != PROG_INTEGER)		abort_interp("Invalid argument type.");	tmp = oper1->data.number;	/* Depth on stack */	if (tmp < 0)		abort_interp("Argument must be positive.");	CHECKOP(tmp);	if (tmp > 0) {		for (i = 0; i < (tmp / 2); i++) {			temp2 = arg[*top - (tmp - i)];			arg[*top - (tmp - i)] = arg[*top - (i + 1)];			arg[*top - (i + 1)] = temp2;		}	}	CLEAR(oper1);	PushInt(tmp);}
开发者ID:hyena,项目名称:fuzzball,代码行数:23,


示例4: prim_interp

voidprim_interp(PRIM_PROTOTYPE){	struct inst *oper1 = NULL; /* prevents re-entrancy issues! */	struct inst *oper2 = NULL; /* prevents re-entrancy issues! */	struct inst *oper3 = NULL; /* prevents re-entrancy issues! */	struct inst *rv=NULL;	char buf[BUFFER_LEN];	struct frame *tmpfr;	CHECKOP(3);	oper3 = POP();				/* string -- top stack argument */	oper2 = POP();				/* dbref  --  trigger */	oper1 = POP();				/* dbref  --  Program to run */	if (!valid_object(oper1) || Typeof(oper1->data.objref) != TYPE_PROGRAM)		abort_interp("Bad program reference. (1)");	if (!valid_object(oper2))		abort_interp("Bad object. (2)");	if ((mlev < 3) && !permissions(ProgUID, oper2->data.objref))		abort_interp("Permission denied.");	if (fr->level > 8)		abort_interp("Interp call loops not allowed.");	CHECKREMOTE(oper2->data.objref);	strcpyn(buf, sizeof(buf), match_args);	strcpyn(match_args, sizeof(match_args), oper3->data.string ? oper3->data.string->data : "");	tmpfr = interp(fr->descr, player, DBFETCH(player)->location, oper1->data.objref,				   oper2->data.objref, PREEMPT, STD_HARDUID, 0);	if (tmpfr) {		rv = interp_loop(player, oper1->data.objref, tmpfr, 1);	}	strcpyn(match_args, sizeof(match_args), buf);	CLEAR(oper3);	CLEAR(oper2);	CLEAR(oper1);	if (rv) {		if (rv->type < PROG_STRING) {			push(arg, top, rv->type, MIPSCAST(&rv->data.number));		} else {			push(arg, top, rv->type, MIPSCAST(rv->data.string));		}	} else {		PushNullStr;	}}
开发者ID:hyena,项目名称:fuzzball,代码行数:50,


示例5: prim_fread

void prim_fread(PRIM_PROTOTYPE){  FILE *fh;  char *filename;  double offset;  char tempchr[2];  int result;  CHECKOP(2);  oper1 = POP();  oper2 = POP();  if (getuid() == 0 )     abort_interp("Muck is running under root privs, file prims disabled.");  if (mlev < LBOY) abort_interp("BOY primitive only.");    if(oper1->type != PROG_INTEGER)    abort_interp("Arguement 1 is not an integer.");  if(oper1->data.number < 0 ) abort_interp("Arguement 1 is a negative number.");  if(oper2->type != PROG_STRING) abort_interp("Arguement 2 is not a string.");  if(!oper2->data.string) abort_interp("Argueemnt 2 is a null string.");  offset = oper1->data.number;  filename = oper2->data.string->data;#ifdef SECURE_FILE_PRIMS  if (!(valid_name(filename)))      abort_interp( "Invalid file name.");  if ( strchr( filename, '$' ) == NULL )    filename = set_directory(filename);  else    filename = parse_token( filename );  if ( filename == NULL )    abort_interp( "Invalid shortcut used." );#endif  fh = fopen(filename, "r");  if (fh == NULL) { result = 0; } else {    fseek(fh, offset, SEEK_SET);    tempchr[0] = (char) fgetc(fh);    tempchr[1] = '/0';    fclose(fh);    sprintf(buf, "%s", tempchr);    result = 1;    if(tp_log_files)      log2filetime("logs/files", "#%d by %s FREAD: %s /n", program, unparse_object(player, player), oper2->data.string->data);    if ( tempchr[0] == EOF )      result = 0;  }  CLEAR(oper1);  CLEAR(oper2);  if( result )     PushString(buf);  else      PushNullStr;} 
开发者ID:CyberLeo,项目名称:protomuck,代码行数:50,


示例6: prim_bitand

voidprim_bitand(PRIM_PROTOTYPE){    CHECKOP(2);    oper1 = POP();    oper2 = POP();    if (!arith_type(oper2, oper1))        abort_interp("Invalid argument type");    result = oper2->data.number & oper1->data.number;    tmp = oper2->type;    CLEAR(oper1);    CLEAR(oper2);    push(arg, top, tmp, MIPSCAST & result);}
开发者ID:CyberLeo,项目名称:protomuck,代码行数:14,


示例7: prim_logstatus

voidprim_logstatus(PRIM_PROTOTYPE){    CHECKOP(1);    oper1 = POP();    if (mlev < LARCH)        abort_interp("Archwizard primitive.");    if (oper1->type != PROG_STRING)        abort_interp("Non-string argument (1).");    if (oper1->data.string) {        strcpy(buf, oper1->data.string->data);        log_status("%s/r/n", buf);    }    CLEAR(oper1);}
开发者ID:CyberLeo,项目名称:protomuck,代码行数:15,


示例8: prim_online

void prim_online(PRIM_PROTOTYPE){    CHECKOP(0);    if (mlev < (tp_compatible_muf ? LM3 : LM2))	abort_interp(tp_compatible_muf ? "M3 prim" : "M2 prim");    result = pcount();    CHECKOFLOW(result + 1);    while (result) {	ref = pdbref(result--);	PushObject(ref);    }    result = pcount();    PushInt(result);}
开发者ID:GlowMUCK,项目名称:GlowMUCK,代码行数:15,


示例9: prim_nextdescr

void prim_nextdescr(PRIM_PROTOTYPE){    /* int -- int */    CHECKOP(1);    oper1 = POP();    if (mlev < LM3)	abort_interp("M3 prim");    if (oper1->type != PROG_INTEGER)	abort_interp("Argument not an integer (1)");    result = oper1->data.number;    result = pnextdescr(result);    CLEAR(oper1);    PushInt(result);}
开发者ID:GlowMUCK,项目名称:GlowMUCK,代码行数:15,


示例10: prim_awakep

void prim_awakep(PRIM_PROTOTYPE){    CHECKOP(1);    oper1 = POP();    if (!valid_object(oper1))	abort_interp("invalid argument");    ref = oper1->data.objref;    if (Typeof(ref) == TYPE_THING && (FLAGS(ref) & ZOMBIE))	ref = OWNER(ref);    if (Typeof(ref) != TYPE_PLAYER)	abort_interp("invalid argument");    result = online(ref);    PushInt(result);}
开发者ID:GlowMUCK,项目名称:GlowMUCK,代码行数:15,


示例11: prim_atan

voidprim_atan(PRIM_PROTOTYPE){	CHECKOP(1);	oper1 = POP();	if (oper1->type != PROG_FLOAT)		abort_interp("Non-float argument. (1)");	if (!no_good(oper1->data.fnumber)) {		fresult = atan(oper1->data.fnumber);	} else {		fresult = H_PI;	}	CLEAR(oper1);	PushFloat(fresult);}
开发者ID:UnderSampled,项目名称:RAOAMUCK,代码行数:15,


示例12: prim_atan2

voidprim_atan2(PRIM_PROTOTYPE){	CHECKOP(2);	oper2 = POP();	oper1 = POP();	if (oper1->type != PROG_FLOAT)		abort_interp("Non-float argument. (1)");	if (oper2->type != PROG_FLOAT)		abort_interp("Non-float argument. (2)");	fresult = atan2(oper1->data.fnumber, oper2->data.fnumber);	CLEAR(oper1);	CLEAR(oper2);	PushFloat(fresult);}
开发者ID:UnderSampled,项目名称:RAOAMUCK,代码行数:15,


示例13: prim_put

voidprim_put(PRIM_PROTOTYPE){    CHECKOP(2);    oper1 = POP();    oper2 = POP();    if (oper1->type != PROG_INTEGER || oper1->data.number <= 0)	abort_interp("Operand not a positive integer.");    tmp = oper1->data.number;    EXPECT_WRITE_STACK(tmp);    CLEAR(&arg[*top - tmp]);    copyinst(oper2, &arg[*top - tmp]);    CLEAR(oper1);    CLEAR(oper2);}
开发者ID:foxbird,项目名称:fuzzball,代码行数:15,


示例14: prim_ftostr

voidprim_ftostr(PRIM_PROTOTYPE){	CHECKOP(1);	oper1 = POP();       if ( oper1->type == PROG_INTEGER )           { oper1->type = PROG_FLOAT;            oper1->data.fnumber = oper1->data.number;          }	if (oper1->type != PROG_FLOAT)		abort_interp("Non-float argument. (1)");	sprintf(buf, "%#g", oper1->data.fnumber);	CLEAR(oper1);	PushString(buf);}
开发者ID:CyberLeo,项目名称:protomuck,代码行数:15,


示例15: prim_cancallp

voidprim_cancallp(PRIM_PROTOTYPE){    CHECKOP(2);    oper2 = POP();		/* string: public function name */    oper1 = POP();		/* dbref: Program dbref to check */    if (oper1->type != PROG_OBJECT)	abort_interp("Expected dbref argument. (1)");    if (!valid_object(oper1))	abort_interp("Invalid dbref (1)");    if (Typeof(oper1->data.objref) != TYPE_PROGRAM)	abort_interp("Object is not a MUF Program. (1)");    if (oper2->type != PROG_STRING)	abort_interp("Expected string argument. (2)");    if (!oper2->data.string)	abort_interp("Invalid Null string argument. (2)");    if (!(PROGRAM_CODE(oper1->data.objref))) {	struct line *tmpline;	tmpline = PROGRAM_FIRST(oper1->data.objref);	PROGRAM_SET_FIRST(oper1->data.objref,			  (struct line *) read_program(oper1->data.objref));	do_compile(-1, OWNER(oper1->data.objref), oper1->data.objref, 0);	free_prog_text(PROGRAM_FIRST(oper1->data.objref));	PROGRAM_SET_FIRST(oper1->data.objref, tmpline);    }    result = 0;    if (ProgMLevel(oper1->data.objref) > 0 &&	(mlev >= 4 || OWNER(oper1->data.objref) == ProgUID || Linkable(oper1->data.objref))	    ) {	struct publics *pbs;	pbs = PROGRAM_PUBS(oper1->data.objref);	while (pbs) {	    if (!strcasecmp(oper2->data.string->data, pbs->subname))		break;	    pbs = pbs->next;	}	if (pbs && mlev >= pbs->mlev)	    result = 1;    }    CHECKOFLOW(1);    CLEAR(oper1);    CLEAR(oper2);    PushInt(result);}
开发者ID:foxbird,项目名称:fuzzball,代码行数:48,


示例16: prim_ispidp

void prim_ispidp(PRIM_PROTOTYPE){    /* i -- i */    CHECKOP(1);    oper1 = POP();    if (oper1->type != PROG_INTEGER)	abort_interp("Non-integer argument (1)");    if (oper1->data.number == fr->pid) {	result = 1;    } else {        result = in_timequeue(oper1->data.number);    }    CLEAR(oper1);    PushInt(result);}
开发者ID:CyberLeo,项目名称:protomuck,代码行数:16,


示例17: prim_at

voidprim_at(PRIM_PROTOTYPE){    CHECKOP(1);    temp1 = *(oper1 = POP());    if ((temp1.type != PROG_VAR) && (temp1.type != PROG_LVAR))	abort_interp("Non-variable argument.");    if (temp1.data.number >= MAX_VAR || temp1.data.number < 0)        abort_interp("Variable number out of range.");    if (temp1.type == PROG_LVAR) {	copyinst(&(CurrVar[temp1.data.number]), &arg[(*top)++]);    } else {	copyinst(&(fr->variables[temp1.data.number]), &arg[(*top)++]);    }    CLEAR(&temp1);}
开发者ID:TealWizard,项目名称:TinyMUCK-Tapestries,代码行数:16,


示例18: prim_floor

voidprim_floor(PRIM_PROTOTYPE){	CHECKOP(1);	oper1 = POP();	if (oper1->type != PROG_FLOAT)		abort_interp("Non-float argument. (1)");	if (!no_good(oper1->data.fnumber)) {		fresult = (float) floor((double) oper1->data.fnumber);	} else {		fresult = 0.0;		fr->error.error_flags.f_bounds = 1;	}	CLEAR(oper1);	PushFloat(fresult);}
开发者ID:CyberLeo,项目名称:protomuck,代码行数:16,


示例19: prim_acos

voidprim_acos(PRIM_PROTOTYPE){	CHECKOP(1);	oper1 = POP();	if (oper1->type != PROG_FLOAT)		abort_interp("Non-float argument. (1)");	if ((oper1->data.fnumber >= -1.0) && (oper1->data.fnumber <= 1.0)) {		fresult = acos(oper1->data.fnumber);	} else {		fresult = 0.0;		fr->error.error_flags.nan = 1;	}	CLEAR(oper1);	PushFloat(fresult);}
开发者ID:UnderSampled,项目名称:RAOAMUCK,代码行数:16,


示例20: prim_conboot

voidprim_conboot(PRIM_PROTOTYPE){    /* int --  */    CHECKOP(1);    if (mlev < (tp_compatible_muf ? LMAGE : LARCH))	abort_interp(tp_compatible_muf ? "Mage prim" : "Arch prim");    oper1 = POP();    if (oper1->type != PROG_INTEGER)	abort_interp("Argument not an integer (1)");    result = oper1->data.number;    if ((result < 1) || (result > pcount()))	abort_interp("Invalid connection number (1)");    CLEAR(oper1);    pboot(result);}
开发者ID:GlowMUCK,项目名称:GlowMUCK,代码行数:16,


示例21: prim_forpop

voidprim_forpop(PRIM_PROTOTYPE){	CHECKOP(0);	if (!(fr->fors.top))		abort_interp("Internal error; FOR stack underflow.");	CLEAR(&fr->fors.st->cur);	CLEAR(&fr->fors.st->end);	if (fr->trys.st)		fr->trys.st->for_count--;	fr->fors.top--;	fr->fors.st = pop_for(fr->fors.st);}
开发者ID:hyena,项目名称:fuzzball,代码行数:16,


示例22: prim_sysparm_array

voidprim_sysparm_array(PRIM_PROTOTYPE){    stk_array *nu;    int security = TUNE_MLEV(player);    CHECKOP(1);    oper1 = POP();		/* string: match pattern */    if (oper1->type != PROG_STRING)	abort_interp("Expected a string smatch pattern.");    nu = tune_parms_array(DoNullInd(oper1->data.string), security, fr->pinning);    CLEAR(oper1);    PushArrayRaw(nu);}
开发者ID:foxbird,项目名称:fuzzball,代码行数:16,


示例23: prim_ignore_del

voidprim_ignore_del(PRIM_PROTOTYPE){    CHECKOP(2);    oper1 = POP();    oper2 = POP();    if (mlev < 3)	abort_interp("Permission Denied.");    if (!valid_object(oper1))	abort_interp("Invalid object. (2)");    if (!valid_object(oper2))	abort_interp("Invalid object. (1)");    ignore_remove_player(oper2->data.objref, oper1->data.objref);    CLEAR(oper1);    CLEAR(oper2);}
开发者ID:foxbird,项目名称:fuzzball,代码行数:16,


示例24: prim_setsysparm

voidprim_setsysparm(PRIM_PROTOTYPE){	const char *oldvalue, *newvalue;	int security = TUNE_MLEV(player);	CHECKOP(2);	oper1 = POP();				/* string: new parameter value */	oper2 = POP();				/* string: parameter to tune */	if (mlev < 4)		abort_interp("Wizbit only primitive.");	if (force_level)		abort_interp("Cannot be forced.");	if (oper2->type != PROG_STRING)		abort_interp("Invalid argument. (1)");	if (!oper2->data.string)		abort_interp("Null string argument. (1)");	if (oper1->type != PROG_STRING)		abort_interp("Invalid argument. (2)");	oldvalue = tune_get_parmstring(oper2->data.string->data, security);	newvalue = oper1->data.string ? oper1->data.string->data : "";	result = tune_setparm(oper2->data.string->data, newvalue, security);	switch (result) {	case TUNESET_SUCCESS:		log_status("TUNED (MUF): %s(%d) tuned %s from '%s' to '%s'",				   NAME(player), player, oper2->data.string->data, oldvalue, newvalue);		break;	case TUNESET_UNKNOWN:		abort_interp("Unknown parameter. (1)");		break;	case TUNESET_SYNTAX:		abort_interp("Bad parameter syntax. (2)");		break;	case TUNESET_BADVAL:		abort_interp("Bad parameter value. (2)");		break;	case TUNESET_DENIED:		abort_interp("Permission denied. (1)");		break;	}	CLEAR(oper1);	CLEAR(oper2);}
开发者ID:hyena,项目名称:fuzzball,代码行数:47,


示例25: prim_event_send

voidprim_event_send(PRIM_PROTOTYPE){	struct frame* destfr;	stk_array *arr;	struct inst temp1;	CHECKOP(3);	oper3 = POP();				/* any: data to pass */	oper2 = POP();				/* string: event id */	oper1 = POP();				/* int: process id to send to */	if (mlev < 3)		abort_interp("Requires Mucker level 3 or better.");	if (oper1->type != PROG_INTEGER)		abort_interp("Expected an integer process id. (1)");	if (oper2->type != PROG_STRING)		abort_interp("Expected a string event id. (2)");	if (oper1->data.number == fr->pid)		destfr = fr;	else		destfr = timequeue_pid_frame(oper1->data.number);	if (destfr) {		arr = new_array_dictionary();		array_set_strkey(&arr, "data", oper3);		array_set_strkey_intval(&arr, "caller_pid", fr->pid);		array_set_strkey_intval(&arr, "descr", fr->descr);		array_set_strkey_refval(&arr, "caller_prog", program);		array_set_strkey_refval(&arr, "trigger", fr->trig);		array_set_strkey_refval(&arr, "prog_uid", ProgUID);		array_set_strkey_refval(&arr, "player", player);		temp1.type = PROG_ARRAY;		temp1.data.array = arr;		snprintf(buf, sizeof(buf), "USER.%.32s", DoNullInd(oper2->data.string));		muf_event_add(destfr, buf, &temp1, 0);		CLEAR(&temp1);	}	CLEAR(oper1);	CLEAR(oper2);	CLEAR(oper3);}
开发者ID:hyena,项目名称:fuzzball,代码行数:47,


示例26: prim_strtof

voidprim_strtof(PRIM_PROTOTYPE){	CHECKOP(1);	oper1 = POP();	if (oper1->type != PROG_STRING)		abort_interp("Non-string argument. (1)");	fresult = 0.0;	if (!oper1->data.string || !ifloat(oper1->data.string->data)) {		fresult = 0.0;		fr->error.error_flags.nan = 1;	} else {		sscanf(oper1->data.string->data, "%g", &fresult);	}	CLEAR(oper1);	PushFloat(fresult);}
开发者ID:CyberLeo,项目名称:protomuck,代码行数:17,


示例27: prim_mod

voidprim_mod(PRIM_PROTOTYPE){	CHECKOP(2);	oper1 = POP();	oper2 = POP();	if ((!arith_type(oper2, oper1)) || (oper1->type == PROG_FLOAT) ||		(oper2->type == PROG_FLOAT)) abort_interp("Invalid argument type.");	if (oper1->data.number)		result = oper2->data.number % oper1->data.number;	else		result = 0;	tmp = oper2->type;	CLEAR(oper1);	CLEAR(oper2);	push(arg, top, tmp, MIPSCAST & result);}
开发者ID:UnderSampled,项目名称:RAOAMUCK,代码行数:17,


示例28: prim_cos

voidprim_cos(PRIM_PROTOTYPE){	CHECKOP(1);	oper1 = POP();	if (oper1->type != PROG_FLOAT)		abort_interp("Non-float argument. (1)");	if (!no_good(oper1->data.fnumber)) {		fresult = cos(oper1->data.fnumber);	} else {		/* FIXME:  This should be NaN. */		fresult = 0.0;		fr->error.error_flags.f_bounds = 1;	}	CLEAR(oper1);	PushFloat(fresult);}
开发者ID:UnderSampled,项目名称:RAOAMUCK,代码行数:17,


示例29: prim_sysparm_array

voidprim_sysparm_array(PRIM_PROTOTYPE){    stk_array *nu;    /* string */    CHECKOP(1);    oper1 = POP();    if (oper1->type != PROG_STRING)        abort_interp("Expected a string smatch pattern. (1)");    nu = tune_parms_array(DoNullInd(oper1->data.string), mlev);    CLEAR(oper1);    PushArrayRaw(nu);}
开发者ID:CyberLeo,项目名称:protomuck,代码行数:17,


示例30: prim_ignoringp

voidprim_ignoringp(PRIM_PROTOTYPE){    CHECKOP(2);    oper1 = POP();    oper2 = POP();    if (mlev < 3)	abort_interp("Permission Denied.");    if (!valid_object(oper1))	abort_interp("Invalid object. (2)");    if (!valid_object(oper2))	abort_interp("Invalid object. (1)");    result = ignore_is_ignoring(oper2->data.objref, oper1->data.objref);    CLEAR(oper1);    CLEAR(oper2);    PushInt(result);}
开发者ID:foxbird,项目名称:fuzzball,代码行数:17,



注:本文中的CHECKOP函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CHECKOPT函数代码示例
C++ CHECKOFLOW函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。