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

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

51自学网 2021-06-03 08:28:38
  C++
这篇教程C++ strdata函数代码示例写得很实用,希望能帮到您。

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

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

示例1: lj_str_cmp

/* Ordered compare of strings. Assumes string data is 4-byte aligned. */int32_t LJ_FASTCALL lj_str_cmp(GCstr *a, GCstr *b){  MSize i, n = a->len > b->len ? b->len : a->len;  for (i = 0; i < n; i += 4) {    /* Note: innocuous access up to end of string + 3. */    uint32_t va = *(const uint32_t *)(strdata(a)+i);    uint32_t vb = *(const uint32_t *)(strdata(b)+i);    if (va != vb) {#if LJ_LE      va = lj_bswap(va); vb = lj_bswap(vb);#endif      i -= n;      if ((int32_t)i >= -3) {	va >>= 32+(i<<3); vb >>= 32+(i<<3);	if (va == vb) break;      }      return va < vb ? -1 : 1;    }
开发者ID:torch,项目名称:luajit-rocks,代码行数:19,


示例2: ffi_checkctype

/* Check first argument for a C type and returns its ID. */static CTypeID ffi_checkctype(lua_State *L, CTState *cts, TValue *param){  TValue *o = L->base;  if (!(o < L->top)) {  err_argtype:    lj_err_argtype(L, 1, "C type");  }  if (tvisstr(o)) {  /* Parse an abstract C type declaration. */    GCstr *s = strV(o);    CPState cp;    int errcode;    cp.L = L;    cp.cts = cts;    cp.srcname = strdata(s);    cp.p = strdata(s);    cp.param = param;    cp.mode = CPARSE_MODE_ABSTRACT|CPARSE_MODE_NOIMPLICIT;    errcode = lj_cparse(&cp);    if (errcode) lj_err_throw(L, errcode);  /* Propagate errors. */    return cp.val.id;  } else {    GCcdata *cd;    if (!tviscdata(o)) goto err_argtype;    if (param && param < L->top) lj_err_arg(L, 1, LJ_ERR_FFI_NUMPARAM);    cd = cdataV(o);    return cd->ctypeid == CTID_CTYPEID ? *(CTypeID *)cdataptr(cd) : cd->ctypeid;  }}
开发者ID:chengjunjian,项目名称:nginx-openresty-windows,代码行数:29,


示例3: ctype_get

/* Get redirected or mangled external symbol. */static const char *clib_extsym(CTState *cts, CType *ct, GCstr *name){  if (ct->sib) {    CType *ctf = ctype_get(cts, ct->sib);    if (ctype_isxattrib(ctf->info, CTA_REDIR))      return strdata(gco2str(gcref(ctf->name)));  }  return strdata(name);}
开发者ID:BillTheBest,项目名称:ironbee,代码行数:10,


示例4: cconv_err_conv

/* Bad conversion. */LJ_NORET static void cconv_err_conv(CTState *cts, CType *d, CType *s,				    CTInfo flags){  const char *dst = strdata(lj_ctype_repr(cts->L, ctype_typeid(cts, d), NULL));  const char *src;  if ((flags & CCF_FROMTV))    src = lj_obj_typename[1+(ctype_isnum(s->info) ? LUA_TNUMBER :			     ctype_isarray(s->info) ? LUA_TSTRING : LUA_TNIL)];  else    src = strdata(lj_ctype_repr(cts->L, ctype_typeid(cts, s), NULL));  if (CCF_GETARG(flags))    lj_err_argv(cts->L, CCF_GETARG(flags), LJ_ERR_FFI_BADCONV, src, dst);  else    lj_err_callerv(cts->L, LJ_ERR_FFI_BADCONV, src, dst);}
开发者ID:24BitGames,项目名称:LoomSDK,代码行数:16,


示例5: ffi_index_meta

/* Handle ctype __index/__newindex metamethods. */static int ffi_index_meta(lua_State *L, CTState *cts, CType *ct, MMS mm){  CTypeID id = ctype_typeid(cts, ct);  cTValue *tv = lj_ctype_meta(cts, id, mm);  TValue *base = L->base;  if (!tv) {    const char *s;  err_index:    s = strdata(lj_ctype_repr(L, id, NULL));    if (tvisstr(L->base+1))      lj_err_callerv(L, LJ_ERR_FFI_BADMEMBER, s, strVdata(L->base+1));    else      lj_err_callerv(L, LJ_ERR_FFI_BADIDX, s);  }  if (!tvisfunc(tv)) {    if (mm == MM_index) {      cTValue *o = lj_meta_tget(L, tv, base+1);      if (o) {	if (tvisnil(o)) goto err_index;	copyTV(L, L->top-1, o);	return 1;      }    } else {      TValue *o = lj_meta_tset(L, tv, base+1);      if (o) {	copyTV(L, o, base+2);	return 0;      }    }    tv = L->top-1;  }  return lj_meta_tailcall(L, tv);}
开发者ID:JakSprats,项目名称:Alchemy-Database,代码行数:34,


示例6: ifs

 Shader::Shader(GLenum Type,std::string filename) {     shader_type = Type;          std::ifstream ifs(filename);     if(!ifs)         throw(std::runtime_error("File:"+filename+" not opened."));     std::ostringstream stream;     stream<<ifs.rdbuf();     std::string strdata = stream.str();     const GLchar* data = strdata.c_str();          handle = glCreateShader(shader_type);     glShaderSource(handle,1,static_cast<const GLchar**> (&data),0);          glCompileShader(handle);          int status;     glGetShaderiv(handle,GL_COMPILE_STATUS,&status);     if(status == GL_FALSE)     {         int loglength;         glGetShaderiv(handle,GL_INFO_LOG_LENGTH,&loglength);                  auto data = new char[loglength];                  glGetShaderInfoLog(handle,loglength,&loglength,data);                  std::string strdata(data);         delete [] data;                  throw(std::runtime_error(strdata));     } }
开发者ID:manasij7479,项目名称:flake,代码行数:34,


示例7: strdata

static IOFileUD *io_file_open(lua_State *L, const char *mode){  const char *fname = strdata(lj_lib_checkstr(L, 1));  IOFileUD *iof = io_file_new(L);  iof->fp = fopen(fname, mode);  if (iof->fp == NULL)    luaL_argerror(L, 1, lj_str_pushf(L, "%s: %s", fname, strerror(errno)));  return iof;}
开发者ID:derdewey,项目名称:luajit,代码行数:9,


示例8: cconv_err_convtv

/* Bad conversion from TValue. */LJ_NORET static void cconv_err_convtv(CTState *cts, CType *d, TValue *o,				      CTInfo flags){  const char *dst = strdata(lj_ctype_repr(cts->L, ctype_typeid(cts, d), NULL));  const char *src = lj_typename(o);  if (CCF_GETARG(flags))    lj_err_argv(cts->L, CCF_GETARG(flags), LJ_ERR_FFI_BADCONV, src, dst);  else    lj_err_callerv(cts->L, LJ_ERR_FFI_BADCONV, src, dst);}
开发者ID:24BitGames,项目名称:LoomSDK,代码行数:11,


示例9: lj_tab_setstr

/* Index a C library by name. */TValue *lj_clib_index(lua_State *L, CLibrary *cl, GCstr *name){  TValue *tv = lj_tab_setstr(L, cl->cache, name);  if (LJ_UNLIKELY(tvisnil(tv))) {    CTState *cts = ctype_cts(L);    CType *ct;    CTypeID id = lj_ctype_getname(cts, &ct, name, CLNS_INDEX);    if (!id)      lj_err_callerv(L, LJ_ERR_FFI_NODECL, strdata(name));    if (ctype_isconstval(ct->info)) {      CType *ctt = ctype_child(cts, ct);      lua_assert(ctype_isinteger(ctt->info) && ctt->size <= 4);      if ((ctt->info & CTF_UNSIGNED) && ctt->size == 4)	setnumV(tv, (lua_Number)(uint32_t)ct->size);      else	setnumV(tv, (lua_Number)(int32_t)ct->size);    } else {      const char *sym = clib_extsym(cts, ct, name);      void *p = clib_getsym(cl, sym);      GCcdata *cd;      lua_assert(ctype_isfunc(ct->info) || ctype_isextern(ct->info));#if LJ_TARGET_X86 && LJ_ABI_WIN      /* Retry with decorated name for fastcall/stdcall functions. */      if (!p && ctype_isfunc(ct->info)) {	CTInfo cconv = ctype_cconv(ct->info);	if (cconv == CTCC_FASTCALL || cconv == CTCC_STDCALL) {	  CTSize sz = clib_func_argsize(cts, ct);	  sym = lj_str_pushf(L, cconv == CTCC_FASTCALL ? "@%[email
C++ strdupW函数代码示例
C++ strcpypgm2ram函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。