aspose.info
ZH

ABC - ActionScript 字节码文件

更新于

什么是一 .abc 文件?

扩展名为 .abc 的文件是 Flash 编译器在编译 ActionScript 脚本文件后创建的 ActionScript 字节代码文件。 ABC 文件中包含的字节码由 ActionScript 虚拟机(AVM 和 AVM2)执行。字节码由常量数据、来自 AVM2 指令集的指令和各种元数据组成。当 ABC 文件加载到 AVM 或 AVM2 中时,它会进行验证。如果它不符合 AVM2 概述,则会被拒绝。 ABC 文件可以在很久以前停产的 Adobe Flash Player 中打开。

ABC 文件格式 - 更多信息

ABC 文件以 AVM 或 AVM2 虚拟机可读的二进制文件格式保存到磁盘。它的内部文件结构表示可执行代码块及其所有常量数据、类型描述符、代码和元数据。

ABC 文件结构

ABC 文件结构如下图所示。

abcFile  
{
           u16        minor_version                
           u16        major_version                
           cpool_info        constant_pool                
           u30        method_count                
           method_info        method[method_count]                
           u30        metadata_count                
           metadata_info        metadata[metadata_count]                
           u30        class_count                
           instance_info        instance[class_count]                
           class_info        class[class_count]                
           u30        script_count                
           script_info        script[script_count]               
           u30        method_body_count                
           method_body_info        method_body[method_body_count]        
}

ABC 文件字段

字段名称描述
minor_version,major_versionmajor_version 和minor_version 的值是abcFile 格式的主要和次要版本号。
constant_poolconstant_pool 是一个可变长度结构,由整数、双精度、字符串、命名空间、命名空间集和多名称组成。
method_count, methodmethod_count 的值是方法数组中的条目数。方法数组中的每个条目都是一个可变长度的 method_info 结构。
metadata_count, metadatametadata_count 的值是元数据数组中的条目数。每个元数据条目都是一个 metadata_info 结构,它将名称映射到一组字符串值。
class_count, instance, classclass_count 的值是实例和类数组中的条目数。
script_count, scriptscript_count 的值是脚本数组中的条目数。每个脚本条目都是一个 script_info 结构,它定义了该文件中单个脚本的特征。
method_body_count, method_bodymethod_body_count 的值是method_body 数组中的条目数。每个 method_bodyentry 都由一个可变长度的 method_body_info 结构组成,该结构包含单个方法或函数的指令。

参考

另请参阅