Emscripten 3.0 ඇත, C/C++ සිට WebAssembly සම්පාදකයක්

Emscripten 3.0 සම්පාදකයේ නිකුතුව ප්‍රකාශයට පත් කර ඇති අතර, ඔබට C/C++ සහ LLVM මත පදනම් වූ ඉදිරිපෙළ විශ්වීය පහත් මට්ටමේ අතරමැදි කේත WebAssembly වෙත ලබා ගත හැකි වෙනත් භාෂාවලින් කේත සම්පාදනය කිරීමට ඔබට ඉඩ සලසයි, පසුව JavaScript ව්‍යාපෘති සමඟ ඒකාබද්ධ කිරීම සඳහා වෙබ් බ්‍රවුසරයක, සහ Node.js හි භාවිතා කරන්න හෝ wasm ධාවන කාලය භාවිතයෙන් ක්‍රියාත්මක වන ස්වාධීන බහු-වේදිකා යෙදුම් නිර්මාණය කිරීම. ව්යාපෘති කේතය MIT බලපත්රය යටතේ බෙදා හරිනු ලැබේ. සම්පාදකය LLVM ව්‍යාපෘතියේ වර්ධනයන් භාවිතා කරන අතර Binaryen පුස්තකාලය WebAssembly උත්පාදනය සහ ප්‍රශස්තකරණය සඳහා භාවිතා කරයි.

එම්ක්‍රිප්ටන් ව්‍යාපෘතියේ ප්‍රධාන අරමුණ වන්නේ කේතය ලියා ඇති ක්‍රමලේඛන භාෂාව කුමක් වුවත් වෙබයේ කේතය ක්‍රියාත්මක කිරීමට ඔබට ඉඩ සලසන මෙවලමක් නිර්මාණය කිරීමයි. සම්පාදනය කරන ලද යෙදුම් වලට සම්මත C සහ C++ පුස්තකාල (libc, libcxx), C++ දිගු, pthreads මත පදනම් වූ multithreading, POSIX API සහ බොහෝ බහුමාධ්‍ය පුස්තකාල වෙත ඇමතුම් භාවිතා කළ හැක. Web API සහ JavaScript කේතය සමඟ ඒකාබද්ධ කිරීම සඳහා API වෙන වෙනම සපයනු ලැබේ.

එස්ඩීඑල් 2 පුස්තකාලයේ ප්‍රතිදානය කැන්වස් හරහා විකාශනය කිරීමට එම්ක්‍රිප්ටන් සහය දක්වයි, තවද ඔබට චිත්‍රක යෙදුම් සහ ක්‍රීඩා WebAssembly වෙත පරිවර්තනය කිරීමට ඉඩ සලසන WebGL හරහා OpenGL සහ EGL සඳහා සහය සපයයි (උදාහරණයක් ලෙස, Qt මෙවලම් කට්ටලයේ වරායක් ඇති අතර Unreal Engine සඳහා සහය දක්වයි. 4 සහ ඒකක ක්‍රීඩා එන්ජින්, භෞතික බුලට් එන්ජිම). C/C++ හි කේතය සම්පාදනය කිරීමට අමතරව, Lua, C#, Python, Ruby සහ Perl යන භාෂා සඳහා බ්‍රවුසරවල පරිවර්තකයන් සහ අතථ්‍ය යන්ත්‍ර ක්‍රියාත්මක කිරීමට ව්‍යාපෘති වෙන වෙනම සංවර්ධනය වෙමින් පවතී. Swift, Rust, D සහ Fortran වැනි භාෂා සඳහා ලබා ගත හැකි LLVM සඳහා ක්ලැන්ග් නොවන ඉදිරිපස යෙදීමට ද හැකිය.

Emscripten 3.0 හි ප්‍රධාන වෙනස්කම්:

  • emscripten හි භාවිතා වන musl C පුස්තකාලය 1.2.2 අනුවාදයට යාවත්කාලීන කර ඇත (2 අනුවාදය Emscripten 1.1.15.x ශාඛාවේ භාවිතා කරන ලදී).
  • ව්‍යාපෘතිය තුළ ප්‍රධාන වශයෙන් භාවිතා කරන ලද ශ්‍රිතවල කොටසක් parseTools.js පුස්තකාලයෙන් ඉවත් කර ඇත: removePointing, pointingLevels, removeAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVecturType, getturucalty, getturType pePartBits, isFunctionDef, isPossiblyFunctionType, isFunctionType, getReturnType, splitTokenList, _IntToHex, IEEEUnHex , Compiletime.isPointerType, Compiletime.isStructType, Compiletime.INT_TYPES, isType.
  • shell.html සහ shell_minimal.html සැකිලි තුළ, emscripten ක්‍රියාත්මක වීමේදී සිදුවන දෝෂ පණිවිඩවල ප්‍රතිදානය සහ stderr හරහා යෙදුම මඟින් ප්‍රතිදානය කිරීම console.error වෙනුවට console.warn භාවිතා කිරීමට පෙරනිමියෙන් මාරු කරනු ලැබේ.
  • ගොනු නාමවල භාවිතා කරන විශේෂිත පෙළ කේතනයක් නියම කිරීමේ හැකියාව එක් කරන ලදී. ගොනු නාමය පසු කරන විට කේතනය උපසර්ගයේ ස්වරූපයෙන් දැක්විය හැක, උදාහරණයක් ලෙස, "a.rsp.utf-8" හෝ "a.rsp.cp1251").

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න