Emscripten 3.0 شتون لري، یو C/C++ ته WebAssembly کمپیلر

د Emscripten 3.0 کمپیلر خپور شوی، تاسو ته اجازه درکوي چې په C/C++ او نورو ژبو کې کوډ تالیف کړئ د کوم لپاره چې د LLVM-based frontends په نړیواله ټیټه کچه منځګړیتوب کوډ WebAssembly کې شتون لري، د جاوا سکریپټ پروژو سره د راتلونکي ادغام لپاره، روان دي. په ویب براوزر کې، او په نوډ. js کې وکاروئ یا د واحد واحد ملټي پلیټ فارم غوښتنلیکونه رامینځته کړئ چې د wasm runtime په کارولو سره چلیږي. د پروژې کوډ د MIT جواز لاندې ویشل شوی. تالیف کونکی د LLVM پروژې څخه پرمختګونه کاروي، او د Binaryen کتابتون د WebAssembly تولید او اصلاح لپاره کارول کیږي.

د ایمسکریپټین پروژې اصلي هدف د داسې وسیلې رامینځته کول دي چې تاسو ته اجازه درکوي په ویب کې کوډ اجرا کړئ پرته لدې چې د برنامې ژبې په پام کې نیولو سره په کوم کې چې کوډ لیکل شوی وي. تالیف شوي غوښتنلیکونه کولی شي معیاري C او C++ کتابتونونو (libc, libcxx)، C++ توسیعونو، د pthreads پر بنسټ ملټي تریډینګ، POSIX APIs، او ډیری ملټي میډیا کتابتونونو ته زنګ ووهي. د ویب API او جاواسکریپټ کوډ سره د ادغام لپاره APIs په جلا توګه چمتو شوي.

ایمسکریپټین د کینوس له لارې د SDL2 کتابتون د خپرولو ملاتړ کوي، او همدارنګه د OpenGL او EGL لپاره د WebGL له لارې مالتړ چمتو کوي، کوم چې تاسو ته اجازه درکوي ګرافیکي غوښتنلیکونه او لوبې WebAssembly ته واړوئ (د مثال په توګه، د Qt اوزار کټ یو بندر شتون لري او د غیر ریښتینې انجن ملاتړ کوي. 4 او د واحد لوبې انجنونه، فزیکي بلیټ انجن). په C/C++ کې د کوډ تالیف کولو سربیره، پروژې په جلا توګه رامینځته کیږي ترڅو د ژبو Lua، C#، Python، Ruby او Perl لپاره په براوزرونو کې د ژباړونکو او مجازی ماشینونو پیل یقیني کړي. دا هم ممکنه ده چې په LLVM کې غیر کلینګ فرنټ اینډونه پلي کړئ، د ژبو لپاره شتون لري لکه سویفټ، روسټ، ډي او فورټران.

په Emscripten 3.0 کې لوی بدلونونه:

  • د musl C کتابتون چې په ایمسکریپټین کې کارول کیږي 1.2.2 نسخه ته تازه شوی (د 2 نسخه په Emscripten 1.1.15.x څانګه کې کارول شوې وه).
  • د دندو یوه برخه چې په عمده توګه په پروژه کې کارول شوي د parseTools.js کتابتون څخه لیرې شوي دي: removePointing, pointing Levels, removeAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVectorType, getStructuralPtrupe, getStructuralPtrupeType. بټس، isFunctionDef، isPossibly FunctionType، isFunctionType، getReturnType، splitTokenList، _IntToHex، IEEEUnHex، Compiletime.isPointerType، Compiletime.isStructType، Compiletime.INT_TYPES، isType.
  • په shell.html او shell_minimal.html ټیمپلیټونو کې، د خطا پیغامونو محصول چې د ایمسکریپټین د عملیاتو په جریان کې پیښیږي او د سټډرر له لارې د غوښتنلیک لخوا تولید کیږي د console.error پرځای console.warn کارولو لپاره په ډیفالټ بدل شوی.
  • د فایل نومونو کې کارول شوي د ځانګړي متن کوډ کولو مشخص کولو وړتیا اضافه کړه. کوډ کول د ضمیمې په بڼه مشخص کیدی شي کله چې د فایل نوم تیریږي، د بیلګې په توګه، "a.rsp.utf-8" یا "a.rsp.cp1251").

سرچینه: opennet.ru

Add a comment