WebAssemby adalah sesuatu yang terbaru dan terhebat, yang mengubah kode c / c ++ dalam format biner.
- WebAssembly bertujuan untuk mengeksekusi dengan kecepatan asli dengan memanfaatkan perangkat keras umum. Itu dirancang untuk berintegrasi dengan platform web.
Berikut ini tautan tempat salah satu aplikasi dapat Anda lihat, seberapa cepat ia mengonversi program faktorial sederhana dalam kode mesin.
Lihat binatang ini, https://godbolt.org/
Anda dapat menggunakan program sampel ini untuk berjalan di situs itu untuk melihat perakitan.
# include<stdio.h>
int square(int num) {
return num * num;
}
int main() {
int res = square(4);
printf("%d\n",res);
return 0;
}
- Menentukan format biner portabel, ukuran dan waktu-efisien untuk melayani sebagai target kompilasi yang dapat dikompilasi untuk dieksekusi pada kecepatan asli dengan mengambil keuntungan dari kemampuan perangkat keras umum yang tersedia pada berbagai platform, termasuk ponsel dan IoT.
Beberapa info dasar tentang host dan target, bagaimana bahasa pemrograman diterjemahkan ke dalam 10101010.
host=>pc :(windows, iOS, Linux, zOS, Solaris..etc)
target=>CPUhardware: (Intel x86, ARM, PowerPC, etc)
GCC mengubah kode C / C ++ menjadi kode rakitan. Alat yang disebut "assembler" mengubah kode rakitan menjadi kode mesin dan alat yang disebut "penghubung" menghubungkan beberapa file kode mesin menjadi satu file executable (.EXE di bawah Windows). Sebagian besar kompiler ini memungkinkan Anda untuk menulis kode assembler yang dihasilkan ke dalam file sehingga Anda dapat melihat kode assembler atau memodifikasinya.
Assembler dan linker adalah bagian dari rantai alat yang berarti bahwa mereka biasanya dikirimkan bersama dengan kompiler.
Namun beberapa kompiler (seperti Microsoft) secara langsung mengkonversi kode C / C ++ ke dalam bahasa mesin sehingga tidak diperlukan assembler lagi. Banyak dari kompiler ini tidak dapat membuat kode assembler sehingga Anda tidak dapat menulis kode assembler ke dalam file.
Omong-omong: Bahkan ada kompiler (bukan untuk C / C ++, tetapi untuk bahasa pemrograman lainnya) yang secara langsung membuat file .EXE sehingga tidak perlu linker.
WebAssembly: https://github.com/WebAssembly/design