អ្នកអភិវឌ្ឍន៍ម៉ាស៊ីន V8 JavaScript
Decompiler
ឧទាហរណ៍ អនុគមន៍ C ដើមដែលបានចងក្រងជា wasm
typedef struct { float x, y, z; } vec3;
ចំនុចអណ្តែត(const vec3 *a, const vec3 *b) {
ត្រឡប់ a->x * b->x +
a->y * b->y +
a->z * b->z;
}
នឹងត្រូវបានបំបែកដោយឧបករណ៍ប្រើប្រាស់ wasm-decompile ទៅជាភាសាក្លែងក្លាយ
មុខងារ dot(a:{a:float,b:float,c:float },
b:{ a:float, b:float, c:float }): float {
ត្រឡប់ aa * ba + ab * bb + ac * bc
}
ខណៈពេលដែលការបម្លែងទៅជាទម្រង់អត្ថបទ ".wat" នឹងមើលទៅដូចនេះ
(func $dot (ប្រភេទ 0) (param i32 i32) (លទ្ធផល f32)
(f32. បន្ថែម
(f32. បន្ថែម
(f32.mul
(f32. ផ្ទុក
(local.get 0))
(f32. ផ្ទុក
(local.get 1)))
(f32.mul
(f32.load offset=4
(local.get 0))
(f32.load offset=4
(local.get 1))))
(f32.mul
(f32.load offset=8
(local.get 0))
(f32.load offset=8
(local.get 1)))))))
ប្រភព: opennet.ru