Che cos’è un file ABC?
Un file con estensione .abc è un file di codice byte ActionScript creato dal compilatore Flash come risultato della compilazione dei file di script ActionScript. Il codice byte contenuto nel file ABC viene eseguito dalla macchina virtuale ActionScript (AVM e AVM2). Il codice byte comprende dati costanti, istruzioni dal set di istruzioni AVM2 e vari tipi di metadati. Quando un file ABC viene caricato nell’AVM o nell’AVM2, viene sottoposto a verifica. Se non è conforme alla Panoramica AVM2, viene rifiutato. I file ABC possono essere aperti in Adobe Flash Player che è stato interrotto molto tempo fa.
Formato file ABC - Ulteriori informazioni
I file ABC vengono salvati su disco in un formato di file binario leggibile da macchine virtuali AVM o AVM2. La sua struttura di file interna rappresenta un blocco di codice eseguibile con tutti i suoi dati costanti, descrittori di tipo, codice e metadati.
Struttura del file ABC
La struttura del file ABC è quella mostrata di seguito.
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]        
}
Campi del file ABC
| Nome campo | Descrizione | 
|---|---|
| minor_version, major_version | I valori di major_version e minor_version sono i numeri di versione maggiore e minore del formato abcFile. | 
| constant_pool | Il constant_pool è una struttura a lunghezza variabile composta da numeri interi, doppi, stringhe, spazi dei nomi, insiemi di spazi dei nomi e multinomi. | 
| method_count, metodo | Il valore dimethod_count è il numero di voci nell’array del metodo. Ogni voce nell’array del metodo è una struttura method_info di lunghezza variabile. | 
| metadata_count, metadata | Il valore di metadata_count è il numero di voci nell’array di metadati. Ogni voce di metadati è una metadata_infostructure che associa un nome a un insieme di valori di stringa. | 
| class_count, istanza, classe | Il valore di class_count è il numero di voci nell’istanza e negli array di classe. | 
| script_count, script | Il valore di script_count è il numero di voci nell’array di script. Ogni voce di script è una struttura script_info che definisce le caratteristiche di un singolo script in questo file. | 
| method_body_count, method_body | Il valore di method_body_count è il numero di voci nell’array method_body. Ogni method_bodyentry è costituito da una struttura method_body_info di lunghezza variabile che contiene le istruzioni per un singolo metodo o funzione. |