Flash Player / Adobe AIR 執行環境**僅支援 ActionScript 3 (AS3)** — 基於 ECMAScript 4 草案、強型別、類別、介面、事件驅動、JIT 編譯 (Tamarin/ASC 2.0)、**無原生機器碼執行能力、無 FFI/原生擴展機制 (AIR 除外,見下文)**。
| 方案 | 原理 | 可行性 | 現狀 |
|---|---|---|---|
| Alchemy / FlasCC (Adobe 官方) | LLCC 將 C/C++ 編譯為 AS3 字節碼 (ABC),在 AVM2 上運行 | 效能極差 (解譯層開銷大)、記憶體受限、API 受限、工具鏈棄用 | 已停止維護 (2014) |
| CrossBridge (社區分支) | FlasCC 續作,支援更多 C++ 標準庫 | 同樣受限於 AVM2 解譯器、無 JIT、無 SIMD、無執行緒 | 已停止維護 |
| Adobe AIR Native Extensions (ANE) | C/C++ 編譯為平台原生庫 (.dll/.so/.framework),AS3 透過 `ExtensionContext` 呼叫 | **可行**:真正原生效能、完整平台 API、但需為每平台分別編譯、打包、簽名 | **AIR 仍在維護 (HARMAN)**,ANE 為主流擴展方式 |
| WebAssembly (現代替代) | C/C++/Rust → `.wasm`,瀏覽器/Node.js/Deno/WasmEdge 運行,近原生效能、沙箱隔離 | **最佳替代**:Flash 死後,Web 端跑 C 代碼首選 WASM | 主流瀏覽器全支援、工具鏈成熟 (Emscripten/wasi-sdk) |
**但本質不同**:AS3 運行於 AVM2 (專用 VM),C# 運行於 CLR (通用 VM);AS3 無指標/不安全代碼/值型別/泛型/屬性/異常過濾器/LINQ/非同步 `await`/Span/硬體內建函式 — **C# 功能集遠超 AS3**。
**Flash 時代已終結 (2020/12/31 官方停止支援)**。C 代碼無法在 Flash 中直接運行,歷史嘗試 (Alchemy/FlasCC) 已棄用。**現代正解:WebAssembly 瀏覽器端、原生框架桌面/行動端、TypeScript 遷移 AS3 邏輯**。別在廢墟上蓋房子。