WebAssemby, c / c ++ kodunu ikili biçimde dönüştüren en yeni ve en büyük şeydir.
- WebAssembly, ortak donanımdan yararlanarak yerel hızda çalışmayı amaçlamaktadır. Web platformu ile entegre olacak şekilde tasarlanmıştır.
İşte uygulamalardan birini görebileceğiniz bağlantı, makine kodundaki basit faktöriyel programı ne kadar hızlı dönüştürdüğü.
Bu canavarı kontrol et, https://godbolt.org/
Montajı görmek için bu sitede çalıştırmak için bu örnek programı kullanabilirsiniz.
# include<stdio.h>
int square(int num) {
return num * num;
}
int main() {
int res = square(4);
printf("%d\n",res);
return 0;
}
- Mobil ve IoT gibi çok çeşitli platformlarda bulunan yaygın donanım özelliklerinden yararlanarak yerel hızda yürütmek üzere derlenebilen bir derleme hedefi olarak hizmet verecek taşınabilir, boyut ve yükleme zamanı açısından verimli bir ikili biçim tanımlayın.
Ana bilgisayar ve hedef hakkında bazı temel bilgiler, programlama dilinin 10101010'a nasıl çevrildiği.
host=>pc :(windows, iOS, Linux, zOS, Solaris..etc)
target=>CPUhardware: (Intel x86, ARM, PowerPC, etc)
GCC, C / C ++ kodunu montaj koduna dönüştürür. "Assembly" adlı bir araç, derleme kodunu makine koduna dönüştürür ve "linker" adlı bir araç, birden çok makine kodu dosyasını tek bir yürütülebilir dosya (Windows altında .EXE) dosyasına bağlar. Bu derleyicilerin çoğu, sonuçtaki derleyici kodunu bir dosyaya yazmanıza izin verir, böylece derleyici koduna bakabilir veya değiştirebilirsiniz.
Birleştirici ve bağlayıcı alet zincirinin bir parçasıdır, yani bunlar tipik olarak derleyici ile birlikte teslim edilir.
Bununla birlikte, bazı derleyiciler (Microsoft gibi) C / C ++ kodunu doğrudan makine diline dönüştürür, böylece montajcıya gerek kalmaz. Bu derleyicilerin çoğu derleyici kodu oluşturamaz, bu nedenle derleyici kodunu bir dosyaya yazamazsınız.
Bu arada: Doğrudan bir .exe dosyası oluşturan derleyiciler (C / C ++ için değil, diğer programlama dilleri için) bile vardır, böylece bağlayıcı gerekmez.
Web Kurulumu: https://github.com/WebAssembly/design