亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? edg-decode.c

?? vxworks的完整的源代碼
?? C
?? 第 1 頁 / 共 5 頁
字號:
              ^^^----- Second operand.           ^^^-------- First operand.          ^----------- Count of operands.        ^^------------ Operation, using same encoding as for operator                       function names.       ^-------------- "O" for operation.  */  p++;  /* Advance past the "O". */  /* Decode the operator name, e.g., "pl" is "+". */  operator_str = demangle_operator(p, &op_length, &takes_type);  if (operator_str == NULL) {    bad_mangled_name(dctl);  } else {    p += op_length;    /* Put parentheses around the operation. */    write_id_ch('(', dctl);    /* For a cast, sizeof, or __ALIGNOF__, get the type. */    if (takes_type) {      if (strcmp(operator_str, "cast") == 0) {        write_id_ch('(', dctl);        operator_str = "";      } else {        write_id_str(operator_str, dctl);      }  /* if */      p = demangle_type(p, dctl);      write_id_ch(')', dctl);    }  /* if */    /* Get the count of operands. */    p = get_single_digit_number(p, &num_operands, dctl);    /* sizeof and __ALIGNOF__ take zero operands. */    if (num_operands != 0) {      if (num_operands == 1) {        /* Unary operator -- operator comes first. */        write_id_str(operator_str, dctl);      }  /* if */      /* Process the first operand. */      p = demangle_constant(p, dctl);      if (num_operands > 1) {        /* Binary and ternary operators -- operator comes after first           operand. */        write_id_str(operator_str, dctl);        /* Process the second operand. */        p = demangle_constant(p, dctl);        if (num_operands > 2) {          /* Ternary operand -- "?". */          write_id_ch(':', dctl);          /* Process the third operand. */          p = demangle_constant(p, dctl);        }  /* if */      }  /* if */    }  /* if */    write_id_ch(')', dctl);    /* Check for the final "O". */    if (*p != 'O') {      bad_mangled_name(dctl);    } else {      p++;    }  /* if */  }  /* if */  return p;}  /* demangle_operation */static void clear_template_param_block(a_template_param_block_ptr tpbp)/*Clear the fields of the indicated template parameter block.*/{  tpbp->nesting_level = 0;  tpbp->final_specialization = NULL;  tpbp->set_final_specialization = FALSE;  tpbp->actual_template_args_until_final_specialization = FALSE;  tpbp->output_only_correspondences = FALSE;  tpbp->first_correspondence = FALSE;  tpbp->use_old_form_for_template_output = FALSE;  tpbp->base_name_only = FALSE;}  /* clear_template_param_block */static char *demangle_template_arguments(                                      char                       *ptr,                                      a_boolean                  partial_spec,                                      a_template_param_block_ptr temp_par_info,                                      a_decode_control_block_ptr dctl)/*Demangle the template class arguments beginning at ptr and output thedemangled form.  Return a pointer to the character position following what wasdemangled.  ptr points to just past the "__tm__", "__ps__", or "__pt__"string.  partial_spec is TRUE if this is a partial-specializationparameter list ("__ps__").  When temp_par_info != NULL, it points to ablock that controls output of extra information on template parameters.*/{  char          *p = ptr, *arg_base;  unsigned long nchars, position;  a_boolean     nontype, skipped, unskipped;  if (temp_par_info != NULL && !partial_spec) temp_par_info->nesting_level++;  /* A template argument list looks like       __tm__3_ii               ^^---- Argument types.             ^------- Size of argument types, including the underscore.             ^------- ptr points here.     For the first argument list of a partial specialization, "__tm__" is     replaced by "__ps__".  For old-form mangling of templates, "__tm__"     is replaced by "__pt__".  */  write_id_ch('<', dctl);  /* Scan the size. */  p = get_length(p, &nchars, dctl);  arg_base = p;  p = advance_past_underscore(p, dctl);  /* Loop to process the arguments. */  for (position = 1;; position++) {    if (dctl->err_in_id) break;  /* Avoid infinite loops on errors. */    if (*p == '\0' || *p == '_') {      /* We ran off the end of the string. */      bad_mangled_name(dctl);      break;    }  /* if */    /* "X" identifies the beginning of a nontype argument. */    nontype = (*p == 'X');    skipped = unskipped = FALSE;    if (!partial_spec && temp_par_info != NULL &&        !temp_par_info->use_old_form_for_template_output &&        !temp_par_info->actual_template_args_until_final_specialization) {      /* Doing something special: writing out the template parameter name. */      if (temp_par_info->output_only_correspondences) {        /* This is the second pass, which writes out parameter/argument           correspondences, e.g., "T1=int".  Output has been suppressed           in general, and is turned on briefly here. */        dctl->suppress_id_output--;        unskipped = TRUE;        /* Put out a comma between entries and a left bracket preceding the           first entry. */        if (temp_par_info->first_correspondence) {          write_id_str(" [with ", dctl);          temp_par_info->first_correspondence = FALSE;        } else {          write_id_str(", ", dctl);        }  /* if */      }  /* if */      /* Write the template parameter name. */      write_template_parameter_name(temp_par_info->nesting_level, position,                                    nontype, dctl);      if (temp_par_info->output_only_correspondences) {        /* This is the second pass, to write out correspondences, so put the           argument value out after the parameter name. */        write_id_ch('=', dctl);      } else {        /* This is the first pass.  The argument value is skipped.  In           the second pass, its value will be written out. */        /* We still have to scan over the argument value, but suppress           output. */        dctl->suppress_id_output++;        skipped = TRUE;      }  /* if */    }  /* if */    /* Write the argument value. */    if (nontype) {      /* Nontype argument. */      char *saved_end_of_constant = dctl->end_of_constant;      p++;  /* Advance past the "X". */      /* Note the end position of the constant.  This is used to decide         that certain lengths are implausible as a way to resolve         ambiguities. */      dctl->end_of_constant = arg_base + nchars;      p = demangle_constant(p, dctl);      dctl->end_of_constant = saved_end_of_constant;    } else {      /* Type argument. */      p = demangle_type(p, dctl);    }  /* if */    if (skipped) dctl->suppress_id_output--;    if (unskipped) dctl->suppress_id_output++;    /* Stop after the last argument. */    if ((p - arg_base) >= nchars) break;    write_id_str(", ", dctl);  }  /* for */  write_id_ch('>', dctl);  return p;}  /* demangle_template_arguments */static char *demangle_operator(char      *ptr,                               int       *mangled_length,                               a_boolean *takes_type)/*Examine the first few characters at ptr to see if they are an encoding foran operator (e.g., "pl" for plus).  If so, return a pointer to a string forthe operator (e.g., "+"), set *mangled_length to the number of charactersin the encoding, and *takes_type to TRUE if the operator takes a typemodifier (e.g., cast).  If the first few characters are not an operatorencoding, return NULL.*/{  char *s;  int  len = 2;  *takes_type = FALSE;  /* The length-3 codes are tested first to avoid taking their first two     letters as one of the length-2 codes. */  if (start_of_id_is("apl", ptr)) {    s = "+=";    len = 3;  } else if (start_of_id_is("ami", ptr)) {    s = "-=";    len = 3;  } else if (start_of_id_is("amu", ptr)) {    s = "*=";    len = 3;  } else if (start_of_id_is("adv", ptr)) {    s = "/=";    len = 3;  } else if (start_of_id_is("amd", ptr)) {    s = "%=";    len = 3;  } else if (start_of_id_is("aer", ptr)) {    s = "^=";    len = 3;  } else if (start_of_id_is("aad", ptr)) {    s = "&=";    len = 3;  } else if (start_of_id_is("aor", ptr)) {    s = "|=";    len = 3;  } else if (start_of_id_is("ars", ptr)) {    s = ">>=";    len = 3;  } else if (start_of_id_is("als", ptr)) {    s = "<<=";    len = 3;  } else if (start_of_id_is("nwa", ptr)) {    s = "new[]";    len = 3;  } else if (start_of_id_is("dla", ptr)) {    s = "delete[]";    len = 3;  } else if (start_of_id_is("nw", ptr)) {    s = "new";  } else if (start_of_id_is("dl", ptr)) {    s = "delete";  } else if (start_of_id_is("pl", ptr)) {    s = "+";  } else if (start_of_id_is("mi", ptr)) {    s = "-";  } else if (start_of_id_is("ml", ptr)) {    s = "*";  } else if (start_of_id_is("dv", ptr)) {    s = "/";  } else if (start_of_id_is("md", ptr)) {    s = "%";  } else if (start_of_id_is("er", ptr)) {    s = "^";  } else if (start_of_id_is("ad", ptr)) {    s = "&";  } else if (start_of_id_is("or", ptr)) {    s = "|";  } else if (start_of_id_is("co", ptr)) {    s = "~";  } else if (start_of_id_is("nt", ptr)) {    s = "!";  } else if (start_of_id_is("as", ptr)) {    s = "=";  } else if (start_of_id_is("lt", ptr)) {    s = "<";  } else if (start_of_id_is("gt", ptr)) {    s = ">";  } else if (start_of_id_is("ls", ptr)) {    s = "<<";  } else if (start_of_id_is("rs", ptr)) {    s = ">>";  } else if (start_of_id_is("eq", ptr)) {    s = "==";  } else if (start_of_id_is("ne", ptr)) {    s = "!=";  } else if (start_of_id_is("le", ptr)) {    s = "<=";  } else if (start_of_id_is("ge", ptr)) {    s = ">=";  } else if (start_of_id_is("aa", ptr)) {    s = "&&";  } else if (start_of_id_is("oo", ptr)) {    s = "||";  } else if (start_of_id_is("pp", ptr)) {    s = "++";  } else if (start_of_id_is("mm", ptr)) {    s = "--";  } else if (start_of_id_is("cm", ptr)) {    s = ",";  } else if (start_of_id_is("rm", ptr)) {    s = "->*";  } else if (start_of_id_is("rf", ptr)) {    s = "->";  } else if (start_of_id_is("cl", ptr)) {    s = "()";  } else if (start_of_id_is("vc", ptr)) {    s = "[]";  } else if (start_of_id_is("qs", ptr)) {    s = "?";  } else if (start_of_id_is("cs", ptr)) {    s = "cast";    *takes_type = TRUE;  } else if (start_of_id_is("sz", ptr)) {    s = "sizeof(";    *takes_type = TRUE;  } else if (start_of_id_is("af", ptr)) {    s = "__ALIGNOF__(";    *takes_type = TRUE;  } else if (start_of_id_is("uu", ptr)) {    s = "__uuidof(";    *takes_type = TRUE;  } else {    s = NULL;  }  /* if */  *mangled_length = len;  return s;}  /* demangle_operator */static a_boolean is_operator_function_name(char *ptr,                                           char **demangled_name,                                           int  *mangled_length)/*Examine the string beginning at ptr to see if it is the mangled name foran operator function.  If so, return TRUE and set *demangled_name tothe demangled form, and *mangled_length to the length of the mangled form.*/{  char      *s, *end_ptr;  int       len;  a_boolean takes_type;  /* Get the operator name.*/  s = demangle_operator(ptr, &len, &takes_type);  if (s != NULL) {    /* Make sure we took the whole name and nothing more. */    end_ptr = ptr + len;    if (*end_ptr == '\0' || (end_ptr[0] == '_' && end_ptr[1] == '_')) {      /* Okay. */    } else {      s = NULL;    }  /* if */  }  /* if */  *demangled_name = s;  *mangled_length = len;  return (s != NULL);}  /* demangle_operator_function_name */static void note_specialization(char                       *ptr,                                a_template_param_block_ptr temp_par_info)/*Note the fact that a specialization indication has been encountered at ptrwhile scanning a mangled name.  temp_par_info, if non-NULL, points to

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线视频中文字幕一区二区| 国内精品久久久久影院色 | 东方aⅴ免费观看久久av| voyeur盗摄精品| 欧美肥妇bbw| 国产日韩欧美精品一区| 一区二区三区成人| 久久99国产精品免费| www.日韩精品| 日韩亚洲欧美中文三级| 国产精品久久久久aaaa樱花| 日韩电影免费在线看| 成人免费不卡视频| 91精品在线免费观看| 日本一区二区视频在线观看| 五月激情综合婷婷| 国产成人精品网址| 91精品国产一区二区三区蜜臀| 久久精品欧美一区二区三区麻豆| 一区二区视频在线看| 国产综合色视频| 欧美在线观看禁18| 国产精品视频在线看| 人人精品人人爱| 91国偷自产一区二区三区观看 | 国产成人免费av在线| 欧美日韩1区2区| 中文字幕一区av| 久久99精品国产| 欧美日韩国产精品自在自线| 国产精品污污网站在线观看| 另类综合日韩欧美亚洲| 欧美专区日韩专区| 欧美激情在线看| 久久超碰97中文字幕| 精品视频在线免费看| 亚洲欧洲国产日本综合| 激情av综合网| 日韩午夜av电影| 亚洲狠狠爱一区二区三区| 成人激情黄色小说| 精品理论电影在线| 日韩精品一二区| 在线观看91视频| 1000部国产精品成人观看| 国产黄色成人av| 26uuu另类欧美| 美女mm1313爽爽久久久蜜臀| 欧美日韩国产经典色站一区二区三区| 自拍偷拍国产精品| 成人美女视频在线观看| 久久女同互慰一区二区三区| 首页国产欧美日韩丝袜| 欧美性感一类影片在线播放| 最新日韩av在线| 99久久婷婷国产精品综合| 国产日产欧产精品推荐色| 国产中文一区二区三区| 日韩女优毛片在线| 视频在线观看一区| 欧美精品乱人伦久久久久久| 亚洲综合999| 欧美亚洲综合色| 亚洲成人高清在线| 在线精品视频一区二区三四| 一区二区三区在线视频播放| kk眼镜猥琐国模调教系列一区二区| 国产亚洲欧美色| 国产精品一二三四五| 久久精品一二三| 岛国一区二区三区| 国产精品欧美一区喷水| 风间由美一区二区三区在线观看 | 国产精品系列在线观看| 国产香蕉久久精品综合网| 国产精品性做久久久久久| 久久精品免费在线观看| 国产大片一区二区| 欧美国产精品劲爆| 91一区二区在线| 一区二区三区丝袜| 欧美唯美清纯偷拍| 天天影视色香欲综合网老头| 在线电影欧美成精品| 青青草国产精品亚洲专区无| 日韩免费性生活视频播放| 国内久久婷婷综合| 欧美国产日韩亚洲一区| 91在线云播放| 午夜久久久久久久久| 91精品国产福利| 国产一区二区在线免费观看| 亚洲国产精品精华液ab| 色婷婷久久久亚洲一区二区三区| 亚洲一区在线视频| 91精品国产91久久久久久一区二区| 免费观看在线综合色| 久久久久久毛片| 91在线观看下载| 午夜激情一区二区| 精品动漫一区二区三区在线观看| 国产精品中文字幕日韩精品| 1024亚洲合集| 欧美一区二区三区视频免费播放| 国产精品一区二区男女羞羞无遮挡| 成人欧美一区二区三区1314| 欧美日韩免费视频| 精品一区二区国语对白| 中文字幕视频一区二区三区久| 欧美日韩久久一区二区| 国内精品伊人久久久久av影院 | 色综合久久久久久久久| 五月婷婷综合网| 久久色成人在线| 色狠狠av一区二区三区| 九九国产精品视频| 亚洲日本va在线观看| 日韩精品一区二区三区在线播放| 不卡视频在线看| 蜜臀av性久久久久蜜臀aⅴ| 国产精品久久久久aaaa| 91精品国产综合久久国产大片| 成人黄页毛片网站| 日韩电影在线免费| 亚洲视频一二三区| 精品99999| 欧美性大战久久久久久久蜜臀 | 亚洲色图欧美激情| 日韩精品中文字幕在线一区| 99久久婷婷国产综合精品| 日本不卡123| 亚洲欧美激情视频在线观看一区二区三区 | 久久一区二区三区国产精品| 欧美亚洲日本国产| 欧美mv日韩mv国产网站app| 91小宝寻花一区二区三区| 久久国产剧场电影| 一区二区激情视频| 欧美久久久久久久久久| 国产高清在线精品| 天堂午夜影视日韩欧美一区二区| 国产精品网站在线| 精品欧美久久久| 欧美日韩另类一区| 91老司机福利 在线| 国产激情视频一区二区三区欧美| 日韩影院在线观看| 亚洲激情综合网| 中文字幕一区二区三区在线播放 | 国内精品第一页| 午夜影院在线观看欧美| 亚洲免费三区一区二区| 日本一区二区视频在线| 精品久久一区二区三区| 91精品欧美综合在线观看最新| 91黄色在线观看| 91香蕉视频黄| 国产91精品一区二区| 久久成人av少妇免费| 欧美bbbbb| 热久久久久久久| 性做久久久久久久免费看| 亚洲精品成人少妇| 日韩毛片在线免费观看| 国产精品乱码一区二区三区软件 | 99精品一区二区| 福利电影一区二区| 国产白丝网站精品污在线入口| 久久91精品久久久久久秒播| 日韩av电影免费观看高清完整版在线观看| 亚洲精品欧美二区三区中文字幕| 国产精品久久久久久亚洲毛片| 久久免费偷拍视频| 久久九九全国免费| 久久久99久久| 久久香蕉国产线看观看99| 久久综合五月天婷婷伊人| 久久综合久色欧美综合狠狠| 2023国产精华国产精品| 久久综合色8888| 国产色产综合产在线视频| 国产亚洲欧美一区在线观看| 国产亚洲制服色| 中文子幕无线码一区tr| 国产精品不卡一区| 亚洲婷婷综合色高清在线| 亚洲男同1069视频| 亚洲一区二区高清| 日韩成人一级片| 久久99久久99精品免视看婷婷| 久久精品噜噜噜成人88aⅴ| 老色鬼精品视频在线观看播放| 久久成人免费电影| 东方欧美亚洲色图在线| 99视频在线观看一区三区| 色综合婷婷久久| 欧美日韩和欧美的一区二区| 日韩欧美国产小视频| 久久精品一区八戒影视| 中文字幕一区二区三区在线播放 |