Emscripten 3.0 موجود آهي، هڪ C/C++ کان WebAssembly مرتب ڪندڙ

Emscripten 3.0 ڪمپيلر جو رليز شايع ڪيو ويو آهي، جيڪو توهان کي C/C++ ۽ ٻين ٻولين ۾ ڪوڊ گڏ ڪرڻ جي اجازت ڏئي ٿو جنهن لاءِ LLVM-based frontends موجود آهن يونيورسل لو-سطح وچولي ڪوڊ WebAssembly، جاوا اسڪرپٽ پروجيڪٽن سان ايندڙ انضمام لاءِ، هلندڙ ويب برائوزر ۾، ۽ Node. js ۾ استعمال ڪريو يا اسٽينڊ اڪيلو ملٽي پليٽ فارم ايپليڪيشنون ٺاهڻ جيڪي wasm runtime استعمال ڪندي هلن ٿيون. پروجيڪٽ ڪوڊ MIT لائسنس تحت ورهايو ويو آهي. مرتب ڪندڙ LLVM پروجيڪٽ مان ترقيات استعمال ڪري ٿو، ۽ Binaryen لائبريري WebAssembly جي نسل ۽ اصلاح لاءِ استعمال ٿئي ٿي.

ايم اسڪرپٽ پروجيڪٽ جو بنيادي مقصد هڪ اوزار ٺاهڻ آهي جيڪو توهان کي ويب تي ڪوڊ تي عمل ڪرڻ جي اجازت ڏئي ٿو بغير ڪنهن پروگرامنگ ٻولي جنهن ۾ ڪوڊ لکيو ويو آهي. مرتب ڪيل ايپليڪيشنون استعمال ڪري سگھن ٿيون ڪالن کي معياري C ۽ C++ لائبريرين (libc، libcxx)، C++ ايڪسٽينشن، pthreads-based multithreading، POSIX APIs، ۽ گھڻن ملٽي ميڊيا لائبريرين. ويب API ۽ JavaScript ڪوڊ سان انضمام لاءِ APIs الڳ الڳ مهيا ڪيا ويا آهن.

Emscripten سپورٽ ڪري ٿو SDL2 لائبريري جي آئوٽ پٽ کي ڪئنوس ذريعي نشر ڪرڻ، ۽ پڻ مهيا ڪري ٿي OpenGL ۽ EGL لاءِ WebGL ذريعي، جيڪا توهان کي اجازت ڏئي ٿي گرافڪ ايپليڪيشنن ۽ گيمز کي WebAssembly ۾ تبديل ڪرڻ جي (مثال طور، هتي Qt ٽول ڪٽ جو هڪ بندرگاهه آهي ۽ غير حقيقي انجڻ کي سپورٽ ڪري ٿو. 4 ۽ يونٽ گيم انجڻ، فزيڪل بلٽ انجڻ). C/C++ ۾ ڪوڊ گڏ ڪرڻ کان علاوه، پراجيڪٽ الڳ الڳ ٺاهيا پيا وڃن ته جيئن ٻولين جي Lua، C#، Python، Ruby ۽ Perl لاءِ برائوزرن ۾ مترجم ۽ ورچوئل مشينن جي لانچ کي يقيني بڻايو وڃي. اهو پڻ ممڪن آهي ته LLVM تي غير ڪلانگ فرنٽ اينڊ لاڳو ڪرڻ، ٻولين لاءِ دستياب آهي جهڙوڪ Swift، Rust، D ۽ Fortran.

Emscripten 3.0 ۾ اهم تبديليون:

  • ايم اسڪرپٽن ۾ استعمال ٿيندڙ مسل سي لائبريري کي ورزن 1.2.2 ۾ اپڊيٽ ڪيو ويو آهي (ورجن 2 Emscripten 1.1.15.x برانچ ۾ استعمال ڪيو ويو هو).
  • فنڪشنن جو هڪ حصو جيڪو خاص طور تي پروجيڪٽ ۾ استعمال ڪيو ويو هو parseTools.js لائبريري مان هٽايو ويو آهي: removePointing, pointingLevels, RemoveAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVectorType, isStructuralPructural, getTructuralPtrupe, isVectorType. بٽس، isFunctionDef، isPossiblyFunctionType، isFunctionType، getReturnType، splitTokenList، _IntToHex، IEEEUnHex، Compiletime.isPointerType، Compiletime.isStructType، Compiletime.INT_TYPES، isType.
  • shell.html ۽ shell_minimal.html ٽيمپليٽس ۾، غلطي جي پيغامن جو آئوٽ پُٽ جيڪي ايم اسڪرپٽ جي آپريشن دوران ٿين ٿا ۽ ايپليڪيشن ذريعي stderr ذريعي آئوٽ ٿين ٿا، ڊفالٽ طور تي تبديل ٿيل آھي console.warn بدران console.warn استعمال ڪرڻ لاءِ.
  • فائل جي نالن ۾ استعمال ٿيل مخصوص ٽيڪسٽ انڪوڊنگ جي وضاحت ڪرڻ جي صلاحيت شامل ڪئي وئي. انڪوڊنگ هڪ لافاني جي صورت ۾ بيان ڪري سگهجي ٿو جڏهن فائل جو نالو پاس ڪرڻ، مثال طور، "a.rsp.utf-8" يا "a.rsp.cp1251").

جو ذريعو: opennet.ru

تبصرو شامل ڪريو