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

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

?? classfile.c

?? SUN官方的資料
?? C
字號:
/* * @(#)classfile.c	1.2 02/07/25 @(#) * * Copyright (c) 2001 Sun Microsystems, Inc.  All rights reserved. * PROPRIETARY/CONFIDENTIAL * Use is subject to license terms. *//* * Simple representation of a single class file.  Does not (currently) * include support for the defined attributes, but represents them as * unformatted bytes instead. */#include <stdio.h>#include <stdlib.h>#include "classfile.h"static u1 read1(FILE *f);static u2 read2(FILE *f);static u4 read4(FILE *f);static cp_info *readConstantPool(int cnt, FILE *f);static u2 *readInterfaces(int cnt, FILE *f);static attribute_info * readAttributes(int cnt, FILE *f);static field_info *readFieldsAndMethods(int cnt, FILE *f);/* * Read a class into memory from an open file pointer. */ClassFile *readClass(FILE *f){    ClassFile *cf;    u4 magic = read4(f);    if (magic != 0xCAFEBABE) {        return NULL;    }    cf = malloc(sizeof(ClassFile));    cf->magic               = magic;    cf->minor_version       = read2(f);    cf->major_version       = read2(f);    cf->constant_pool_count = read2(f);    cf->constant_pool       = readConstantPool(cf->constant_pool_count, f);    cf->access_flags        = read2(f);    cf->this_class          = read2(f);    cf->super_class         = read2(f);    cf->interfaces_count    = read2(f);    cf->interfaces          = readInterfaces(cf->interfaces_count, f);    cf->fields_count        = read2(f);    cf->fields              = readFieldsAndMethods(cf->fields_count, f);    cf->methods_count       = read2(f);    cf->methods             = readFieldsAndMethods(cf->methods_count, f);    cf->attributes_count    = read2(f);    cf->attributes          = readAttributes(cf->attributes_count, f);    return cf;}static u1 read1(FILE *f){    return (u1) (getc(f) & 0xff);}static u2 read2(FILE *f){    u2 hi = (u2) read1(f);    u2 lo = (u2) read1(f);    return (hi << 8) | lo;}static u4 read4(FILE *f){    u4 hi = (u4) read2(f);    u4 lo = (u4) read2(f);    return (hi << 16) | lo;}static cp_info *readConstantPool(int cnt, FILE *f){    if (cnt == 0) {        return NULL;    } else {        cp_info *cp = malloc(sizeof(cp_info) * cnt);        cp_info *this = cp + 1; /* zeroth constant unused */        int nbytes;        while (--cnt > 0) {            u1 tag = read1(f);            switch (tag) {            case CONSTANT_Class:                this->Class_info.tag = tag;                this->Class_info.name_index = read2(f);                break;            case CONSTANT_Fieldref:            case CONSTANT_Methodref:            case CONSTANT_InterfaceMethodref:                this->Fieldref_info.tag = tag;                this->Fieldref_info.class_index = read2(f);                this->Fieldref_info.name_and_type_index = read2(f);                break;            case CONSTANT_String:                this->String_info.tag = tag;                this->String_info.string_index = read2(f);                break;            case CONSTANT_Integer:            case CONSTANT_Float:                this->Integer_info.tag = tag;                this->Integer_info.bytes = read4(f);                break;            case CONSTANT_Long:            case CONSTANT_Double:                this->Long_info.tag = tag;                this->Long_info.high_bytes = read4(f);                this->Long_info.low_bytes = read4(f);                ++this;         /* these take two slots.  Sigh. */                --cnt;                break;            case CONSTANT_NameAndType:                this->NameAndType_info.tag = tag;                this->NameAndType_info.name_index = read2(f);                this->NameAndType_info.descriptor_index = read2(f);                break;            case CONSTANT_Utf8:                this->Utf8_info.tag = tag;                this->Utf8_info.length = read2(f);                if (this->Utf8_info.length == 0) {                  this->Utf8_info.bytes = NULL;                } else {                  this->Utf8_info.bytes = malloc(this->Utf8_info.length);                  /* REMIND: theoretically we could get a short read! */                  nbytes = fread(this->Utf8_info.bytes, 1,                                 this->Utf8_info.length, f);                }                break;            default:                fprintf(stderr, "Bad constant tag value %d\n", tag);            }            ++this;        }        return cp;    }}static u2 *readInterfaces(int cnt, FILE *f){    if (cnt == 0) {        return NULL;    } else {        u2 *data = malloc(sizeof(u2) * cnt);        u2 *this = data;        while (--cnt >= 0) {            *this++ = read2(f);        }        return data;    }}static attribute_info *readAttributes(int cnt, FILE *f){    if (cnt == 0) {        return NULL;    } else {        attribute_info *ai = malloc(sizeof(attribute_info) * cnt);        attribute_info *this = ai;        while (--cnt >= 0) {            this->attribute_name_index = read2(f);            this->attribute_length = read4(f);            this->info = malloc(this->attribute_length);            /* REMIND: beware of short read! */            fread(this->info, 1, this->attribute_length, f);            ++this;        }        return ai;    }}static field_info *readFieldsAndMethods(int cnt, FILE *f){    if (cnt == 0) {        return NULL;    } else {        field_info *fi = malloc(sizeof(field_info) * cnt);        field_info *this = fi;        while (--cnt >= 0) {            this->access_flags = read2(f);            this->name_index = read2(f);            this->descriptor_index = read2(f);            this->attributes_count = read2(f);            this->attributes = readAttributes(this->attributes_count, f);            ++this;        }        return fi;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美电影在哪看比较好| 久久激五月天综合精品| 国产v综合v亚洲欧| 2024国产精品| 国产九色sp调教91| 夜夜揉揉日日人人青青一国产精品| 国产美女视频91| 国产欧美日韩三级| 成人午夜精品在线| 1000部国产精品成人观看| 91一区二区三区在线观看| 一区免费观看视频| 色美美综合视频| 亚洲最色的网站| 337p亚洲精品色噜噜狠狠| 精品综合久久久久久8888| 久久亚洲精华国产精华液| 国产精品一区一区| 亚洲女爱视频在线| 欧美日韩二区三区| 国产自产v一区二区三区c| 国产性天天综合网| 色菇凉天天综合网| 麻豆成人久久精品二区三区红| 精品少妇一区二区三区在线播放| 国产一区二区不卡| 国产91精品欧美| 国产精品高潮久久久久无| 免费在线欧美视频| 国产亚洲污的网站| 欧美午夜电影网| 美女视频网站黄色亚洲| 亚洲国产高清在线观看视频| 在线观看视频91| 精品在线播放午夜| 亚洲精品一二三四区| 日韩亚洲欧美成人一区| a4yy欧美一区二区三区| 日韩成人伦理电影在线观看| 中文字幕久久午夜不卡| 欧美色窝79yyyycom| 国产乱码精品一区二区三区av | 色久综合一二码| 全部av―极品视觉盛宴亚洲| 国产精品丝袜一区| 欧美一区二区三区在线观看视频| youjizz国产精品| 久久99最新地址| 亚洲一区二区三区四区中文字幕| 久久尤物电影视频在线观看| 91福利国产精品| 国产91综合网| 精品无码三级在线观看视频 | 亚洲色图19p| 精品日产卡一卡二卡麻豆| 91免费精品国自产拍在线不卡| 激情五月婷婷综合| 亚洲成人av福利| 一区二区三区在线视频观看| 国产日韩欧美高清| 精品国产亚洲在线| 欧美一区二区福利在线| 色综合久久中文综合久久97| 成人小视频在线| 国内精品自线一区二区三区视频| 亚洲国产精品久久久男人的天堂 | 亚洲一区二区在线免费看| 粉嫩aⅴ一区二区三区四区| 韩国毛片一区二区三区| 欧美日本国产视频| 亚洲一本大道在线| 欧美日韩一区不卡| 国产精品自拍av| 欧美午夜视频网站| 亚洲国产一区在线观看| 亚洲精品中文在线观看| 中文字幕亚洲不卡| 国产欧美综合在线观看第十页| 91精品国产综合久久婷婷香蕉| 在线观看亚洲a| 菠萝蜜视频在线观看一区| 成人综合婷婷国产精品久久免费| 国产一区二区网址| 国产精品亚洲专一区二区三区| 久久66热re国产| 精品一区二区三区在线播放视频| 蜜桃精品视频在线观看| 美女尤物国产一区| 国模套图日韩精品一区二区 | 国产suv一区二区三区88区| 久久国产日韩欧美精品| 激情图区综合网| 国产乱子伦一区二区三区国色天香| 蜜臂av日日欢夜夜爽一区| 一本大道综合伊人精品热热| 亚洲6080在线| 日产欧产美韩系列久久99| 丝袜美腿亚洲色图| 久久精品999| 国产高清精品久久久久| 成人免费看黄yyy456| 91亚洲精品乱码久久久久久蜜桃| aaa国产一区| 欧美性猛片aaaaaaa做受| 777午夜精品免费视频| 性做久久久久久久久| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 26uuu亚洲综合色欧美| 日韩小视频在线观看专区| 欧美在线一区二区三区| 日韩免费福利电影在线观看| 亚洲黄色片在线观看| 欧美男人的天堂一二区| 久久99精品久久久久久国产越南| 色94色欧美sute亚洲线路一ni| 91精品蜜臀在线一区尤物| 欧美性欧美巨大黑白大战| 欧美精选午夜久久久乱码6080| 亚洲亚洲人成综合网络| 在线观看视频欧美| 日本一区二区三区国色天香| 久久久久国产一区二区三区四区| 亚洲男同1069视频| 国内成+人亚洲+欧美+综合在线| 韩国欧美国产一区| 成人黄色片在线观看| 色婷婷精品大视频在线蜜桃视频| 91美女在线视频| 成人动漫av在线| 欧美一区二区大片| 亚洲欧美日韩中文播放| 成人app下载| 亚洲夂夂婷婷色拍ww47| 欧美三级日韩在线| 秋霞午夜鲁丝一区二区老狼| 91视视频在线观看入口直接观看www | 日韩一区二区精品葵司在线| 欧美群妇大交群中文字幕| 日韩欧美亚洲一区二区| 亚洲国产高清在线观看视频| 久久精品国产亚洲a| 欧美影视一区在线| 久久精品人人做| 国产精品国产三级国产aⅴ中文 | 国产清纯白嫩初高生在线观看91| 日日摸夜夜添夜夜添亚洲女人| 在线看日本不卡| 国产精品灌醉下药二区| 久久精品国产99| 欧美一二三区在线观看| 亚洲18影院在线观看| 精品人在线二区三区| 国产一区二区在线影院| 日韩欧美中文字幕公布| 亚洲妇女屁股眼交7| 国产成人免费视频网站| 欧美理论电影在线| 一区二区三区久久| 91精品在线麻豆| av在线免费不卡| 日韩在线卡一卡二| 亚洲精品免费在线| 日韩精品一区在线观看| 亚洲一区中文在线| 91免费观看国产| 国产精品国产三级国产专播品爱网| 久久精品国产99国产精品| 777午夜精品免费视频| 亚洲一区二区三区三| 91成人在线免费观看| 国产精品女主播av| 高清不卡一二三区| 国产视频亚洲色图| 国产精品99久| 久久久精品2019中文字幕之3| 极品少妇一区二区| 欧美mv日韩mv| 国产精品一线二线三线精华| 久久亚洲免费视频| 国产激情精品久久久第一区二区| 精品日韩在线观看| 国产久卡久卡久卡久卡视频精品| 久久精品一二三| 国产风韵犹存在线视精品| 国产农村妇女精品| 99久久精品一区二区| 一区二区在线免费| 欧美日韩一区在线观看| 日本成人在线网站| 精品福利一区二区三区| 国产成人在线网站| 国产精品不卡一区| 色悠悠久久综合| 图片区小说区国产精品视频| 日韩一区二区三区精品视频| 精品午夜久久福利影院 | 久久婷婷国产综合精品青草| 国产河南妇女毛片精品久久久| 中文av一区二区| 日本伦理一区二区|