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

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

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

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

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

示例1: proc_call

static VALUEproc_call(VALUE procval, SEL sel, int argc, const VALUE *argv){#if 0    rb_proc_t *proc;    rb_block_t *blockptr = 0;    GetProcPtr(procval, proc);    if (BUILTIN_TYPE(proc->block.iseq) != T_NODE &&	proc->block.iseq->arg_block != -1) {	if (rb_block_given_p()) {	    rb_proc_t *proc;	    VALUE procval;	    procval = rb_block_proc();	    GetProcPtr(procval, proc);	    blockptr = &proc->block;	}    }    return vm_invoke_proc(GET_THREAD(), proc, proc->block.self,			  argc, argv, blockptr);#endif    rb_vm_block_t *proc;    GetProcPtr(procval, proc);    return rb_vm_block_eval(proc, argc, argv);}
开发者ID:MSch,项目名称:MacRuby,代码行数:27,


示例2: proc_eq

static VALUEproc_eq(VALUE self, SEL sel, VALUE other){    if (self == other) {	return Qtrue;    }    else if (rb_obj_is_kind_of(other, rb_cProc)) {	rb_vm_block_t *self_b, *other_b;	GetProcPtr(self, self_b);	GetProcPtr(other, other_b);	return self_b == other_b ? Qtrue : Qfalse;    }    return Qfalse;}
开发者ID:MSch,项目名称:MacRuby,代码行数:14,


示例3: proc_dup

static VALUEproc_dup(VALUE self){    VALUE procval = proc_alloc(rb_cProc);    rb_proc_t *src, *dst;    GetProcPtr(self, src);    GetProcPtr(procval, dst);    dst->block = src->block;    dst->envval = src->envval;    dst->safe_level = dst->safe_level;    dst->special_cref_stack = src->special_cref_stack;        return procval;}
开发者ID:RWB01,项目名称:Code-Translator,代码行数:15,


示例4: rb_vm_make_proc

VALUErb_vm_make_proc(rb_thread_t *th, const rb_block_t *block, VALUE klass){    VALUE procval, envval, blockprocval = 0;    rb_proc_t *proc;    rb_control_frame_t *cfp = RUBY_VM_GET_CFP_FROM_BLOCK_PTR(block);    if (block->proc) {	rb_bug("rb_vm_make_proc: Proc value is already created.");    }    if (GC_GUARDED_PTR_REF(cfp->lfp[0])) {	    rb_proc_t *p;	    blockprocval = vm_make_proc_from_block(		th, (rb_block_t *)GC_GUARDED_PTR_REF(*cfp->lfp));	    GetProcPtr(blockprocval, p);	    *cfp->lfp = GC_GUARDED_PTR(&p->block);	}    envval = rb_vm_make_env_object(th, cfp);    if (PROCDEBUG) {	check_env_value(envval);    }    procval = rb_proc_alloc(klass);    GetProcPtr(procval, proc);    proc->blockprocval = blockprocval;    proc->block.self = block->self;    proc->block.lfp = block->lfp;    proc->block.dfp = block->dfp;    proc->block.iseq = block->iseq;    proc->block.proc = procval;    proc->envval = envval;    proc->safe_level = th->safe_level;    if (VMDEBUG) {	if (th->stack < block->dfp && block->dfp < th->stack + th->stack_size) {	    rb_bug("invalid ptr: block->dfp");	}	if (th->stack < block->lfp && block->lfp < th->stack + th->stack_size) {	    rb_bug("invalid ptr: block->lfp");	}    }    return procval;}
开发者ID:qnighy,项目名称:ruby-1.9.2p0,代码行数:48,


示例5: proc_hash

static VALUEproc_hash(VALUE self, SEL sel){    rb_vm_block_t *b;    GetProcPtr(self, b);    return LONG2FIX(b);}
开发者ID:MSch,项目名称:MacRuby,代码行数:7,


示例6: rb_proc_arity

intrb_proc_arity(VALUE proc){    rb_vm_block_t *b;    GetProcPtr(proc, b);    return rb_vm_arity_n(b->arity);}
开发者ID:MSch,项目名称:MacRuby,代码行数:7,


示例7: proc_dup

static VALUEproc_dup(VALUE self, SEL sel){    rb_vm_block_t *src;    GetProcPtr(self, src);    return Data_Wrap_Struct(CLASS_OF(self), NULL, NULL, src);}
开发者ID:MSch,项目名称:MacRuby,代码行数:7,


示例8: rb_proc_call_with_block

VALUErb_proc_call_with_block(VALUE self, int argc, VALUE *argv, VALUE pass_procval){    rb_proc_t *proc;    rb_block_t *block = 0;    GetProcPtr(self, proc);    if (!NIL_P(pass_procval)) {	rb_proc_t *pass_proc;	GetProcPtr(pass_procval, pass_proc);	block = &pass_proc->block;    }    return rb_vm_invoke_proc(GET_THREAD(), proc, proc->block.self,			     argc, argv, block);}
开发者ID:srirammca53,项目名称:update_status,代码行数:16,


示例9: proc_yield

static VALUEproc_yield(int argc, VALUE *argv, VALUE procval){    rb_proc_t *proc;    GetProcPtr(procval, proc);    return th_invoke_proc(GET_THREAD(), proc, proc->block.self, argc, argv);}
开发者ID:RWB01,项目名称:Code-Translator,代码行数:7,


示例10: proc_dump

/* * call-seq: *   proc.dump(limit) => String * * Dump a Proc to a String. */static VALUE proc_dump(VALUE self, VALUE limit){  if(rb_safe_level() >= 4)  {    /* no access to potentially sensitive data from the sandbox */    rb_raise(rb_eSecurityError, "Insecure: can't dump proc");  }  {#ifdef RUBY_VM    rb_proc_t * p;    VALUE iseq, str;    rb_iseq_t * iseqdat;    GetProcPtr(self, p);    iseq = p->block.iseq->self;    iseqdat = iseq_check(iseq);    iseqdat->type = ISEQ_TYPE_TOP; /* TODO: is this right? */    str = marshal_dump(iseq, limit);    return str;#else    struct BLOCK * b;    VALUE body, var, arr;    Data_Get_Struct(self, struct BLOCK, b);    body = wrap_node(b->body);    var = wrap_node(b->var);    arr = rb_assoc_new(body, var);    return marshal_dump(arr, limit);#endif  }}
开发者ID:shmulim,项目名称:ruby-internal,代码行数:37,


示例11: proc_to_s

static VALUEproc_to_s(VALUE self){    VALUE str = 0;    rb_proc_t *proc;    const char *cname = rb_obj_classname(self);    rb_iseq_t *iseq;    const char *is_lambda;        GetProcPtr(self, proc);    iseq = proc->block.iseq;    is_lambda = proc->is_lambda ? " (lambda)" : "";    if (RUBY_VM_NORMAL_ISEQ_P(iseq)) {	int line_no = 0;		if (iseq->insn_info_table) {	    line_no = rb_iseq_first_lineno(iseq);	}	str = rb_sprintf("#<%s:%[email
C++ GetProcessAffinityMask函数代码示例
C++ GetProcAddress函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。