这篇教程C++ verifyStructSize函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中verifyStructSize函数的典型用法代码示例。如果您正苦于以下问题:C++ verifyStructSize函数的具体用法?C++ verifyStructSize怎么用?C++ verifyStructSize使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了verifyStructSize函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: verifyStructSizevoid TypeInfoAssociativeArrayDeclaration::toDt(dt_t **pdt){ //printf("TypeInfoAssociativeArrayDeclaration::toDt()/n");#if DMDV2 verifyStructSize(Type::typeinfoassociativearray, 5 * Target::ptrsize);#else verifyStructSize(Type::typeinfoassociativearray, 4 * Target::ptrsize);#endif dtxoff(pdt, Type::typeinfoassociativearray->toVtblSymbol(), 0); // vtbl for TypeInfo_AssociativeArray dtsize_t(pdt, 0); // monitor assert(tinfo->ty == Taarray); TypeAArray *tc = (TypeAArray *)tinfo; tc->next->getTypeInfo(NULL); dtxoff(pdt, tc->next->vtinfo->toSymbol(), 0); // TypeInfo for array of type tc->index->getTypeInfo(NULL); dtxoff(pdt, tc->index->vtinfo->toSymbol(), 0); // TypeInfo for array of type#if DMDV2 tc->getImpl()->type->getTypeInfo(NULL); dtxoff(pdt, tc->getImpl()->type->vtinfo->toSymbol(), 0); // impl#endif}
开发者ID:niceDreamer,项目名称:dmd,代码行数:27,
示例2: verifyStructSizevoid TypeInfoWildDeclaration::toDt(dt_t **pdt){ //printf("TypeInfoWildDeclaration::toDt() %s/n", toChars()); verifyStructSize(Type::typeinfowild, 3 * Target::ptrsize); dtxoff(pdt, Type::typeinfowild->toVtblSymbol(), 0); // vtbl for TypeInfo_Wild dtsize_t(pdt, 0); // monitor Type *tm = tinfo->mutableOf(); tm = tm->merge(); dtxoff(pdt, tm->buildTypeInfo(NULL)->toSymbol(), 0);}
开发者ID:rainers,项目名称:dmd,代码行数:11,
示例3: visit void visit(TypeInfoConstDeclaration *d) { //printf("TypeInfoConstDeclaration::toDt() %s/n", toChars()); verifyStructSize(Type::typeinfoconst, 3 * Target::ptrsize); dtxoff(pdt, Type::typeinfoconst->toVtblSymbol(), 0); // vtbl for TypeInfo_Const dtsize_t(pdt, 0); // monitor Type *tm = d->tinfo->mutableOf(); tm = tm->merge(); tm->genTypeInfo(NULL); dtxoff(pdt, toSymbol(tm->vtinfo), 0); }
开发者ID:NativeAPI,项目名称:dmd,代码行数:12,
示例4: verifyStructSizevoid TypeInfoConstDeclaration::toDt(dt_t **pdt){ //printf("TypeInfoConstDeclaration::toDt() %s/n", toChars()); verifyStructSize(Type::typeinfoconst, 3 * PTRSIZE); dtxoff(pdt, Type::typeinfoconst->toVtblSymbol(), 0, TYnptr); // vtbl for TypeInfo_Const dtsize_t(pdt, 0); // monitor Type *tm = tinfo->mutableOf(); tm = tm->merge(); tm->getTypeInfo(NULL); dtxoff(pdt, tm->vtinfo->toSymbol(), 0, TYnptr);}
开发者ID:dsagal,项目名称:dmd,代码行数:12,
示例5: visit void visit(TypeInfoTypedefDeclaration *d) { //printf("TypeInfoTypedefDeclaration::toDt() %s/n", toChars()); verifyStructSize(Type::typeinfotypedef, 7 * Target::ptrsize); dtxoff(pdt, Type::typeinfotypedef->toVtblSymbol(), 0); // vtbl for TypeInfo_Typedef dtsize_t(pdt, 0); // monitor assert( d->tinfo->ty == Ttypedef); TypeTypedef *tc = (TypeTypedef *)d->tinfo; TypedefDeclaration *sd = tc->sym; //printf("basetype = %s/n", sd->basetype->toChars()); /* Put out: * TypeInfo base; * char[] name; * void[] m_init; */ sd->basetype = sd->basetype->merge(); sd->basetype->genTypeInfo(NULL); // generate vtinfo assert(sd->basetype->vtinfo); dtxoff(pdt, sd->basetype->vtinfo->toSymbol(), 0); // TypeInfo for basetype const char *name = sd->toPrettyChars(); size_t namelen = strlen(name); dtsize_t(pdt, namelen); dtabytes(pdt, 0, namelen + 1, name); // void[] init; if (d->tinfo->isZeroInit() || !sd->init) { // 0 initializer, or the same as the base type dtsize_t(pdt, 0); // init.length dtsize_t(pdt, 0); // init.ptr } else { dtsize_t(pdt, sd->type->size()); // init.length dtxoff(pdt, sd->toInitializer(), 0); // init.ptr } }
开发者ID:AndroidMarv,项目名称:dmd,代码行数:43,
注:本文中的verifyStructSize函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ verify_area函数代码示例 C++ verifyMessage函数代码示例 |