Emscripten 3.0፣ C/C++ to WebAssembly compiler ይገኛል።

የEmscripten 3.0 compiler መለቀቅ ታትሟል፣ ኮድ በC/C++ እና LLVM-based frontends ወደ ሁለንተናዊ ዝቅተኛ-ደረጃ መካከለኛ ኮድ WebAssembly የሚገኙባቸውን ሌሎች ቋንቋዎች እንዲያጠናቅቁ የሚያስችልዎት ሲሆን ለቀጣይ ከጃቫስክሪፕት ፕሮጄክቶች ጋር ለመዋሃድ በድር አሳሽ ውስጥ፣ እና በኖድ js ውስጥ ይጠቀሙ ወይም ለብቻቸው የቆሙ ባለብዙ ፕላትፎርም አፕሊኬሽኖችን በመፍጠር wasm runtimeን ይጠቀሙ። የፕሮጀክት ኮድ በ MIT ፈቃድ ስር ተሰራጭቷል። አቀናባሪው ከኤልኤልቪኤም ፕሮጀክት የተገኙ እድገቶችን ይጠቀማል፣ እና Binaryen ቤተ-መጽሐፍት ለWebAssembly ማመንጨት እና ማመቻቸት ስራ ላይ ይውላል።

የEmscripten ፕሮጀክት ዋና ግብ ኮዱ የተጻፈበት የፕሮግራም ቋንቋ ምንም ይሁን ምን በድር ላይ ኮድ እንዲፈጽሙ የሚያስችል መሳሪያ መፍጠር ነው። የተጠናቀሩ አፕሊኬሽኖች ወደ መደበኛ C እና C++ ቤተ-መጻሕፍት (ሊቢክ፣ ሊቢክስክስ)፣ C++ ቅጥያዎች፣ ፕthreads-based multithreading፣ POSIX APIs እና ብዙ የመልቲሚዲያ ቤተ-መጽሐፍት ጥሪዎችን መጠቀም ይችላሉ። ከድር ኤፒአይ እና ጃቫስክሪፕት ኮድ ጋር ለመዋሃድ ኤፒአይዎች ለየብቻ ቀርበዋል።

Emscripten የኤስዲኤል 2 ቤተ መፃህፍትን በሸራ ማሰራጨት ይደግፋል እንዲሁም ለ OpenGL እና EGL በ WebGL በኩል ድጋፍ ይሰጣል ፣ ይህም ስዕላዊ አፕሊኬሽኖችን እና ጨዋታዎችን ወደ WebAssembly እንዲቀይሩ ያስችልዎታል (ለምሳሌ ፣ የ Qt Toolkit ወደብ አለ እና Unreal Engineን ይደግፋል) 4 እና ዩኒት የጨዋታ ሞተሮች ፣ አካላዊ ጥይት ሞተር)። በC/C++ ውስጥ ኮድ ከማዘጋጀት በተጨማሪ፣ በሉአ፣ ሲ#፣ ፓይዘን፣ ሩቢ እና ፐርል ለሚሉት ቋንቋዎች ተርጓሚዎች እና ቨርቹዋል ማሽኖች በአሳሹ ውስጥ መጀመሩን ለማረጋገጥ ፕሮጀክቶች በተናጠል እየተዘጋጁ ናቸው። እንደ ስዊፍት፣ ሩስት፣ ዲ እና ፎርትራን ላሉ ቋንቋዎች የሚገኘው ክላንግ ያልሆኑ የፊት ገጽታዎችን ወደ LLVM መተግበርም ይቻላል።

በEmscripten 3.0 ውስጥ ዋና ለውጦች፡-

  • በemscripten ውስጥ ጥቅም ላይ የዋለው የሙስሊ ሲ ቤተ-መጽሐፍት ወደ ስሪት 1.2.2 ተዘምኗል (ስሪት 2 በEmscripten 1.1.15.x ቅርንጫፍ ውስጥ ጥቅም ላይ ውሏል)።
  • በፕሮጀክቱ ውስጥ በዋናነት ጥቅም ላይ የዋሉት የተወሰኑ ተግባራት ከ parseTools.js ቤተ-መጽሐፍት ተወግደዋል፡ removePointing, pointingLevels, removeAllPointing, isVoidType, isStructPointerType, isArrayType, isStructType, isVectorType, is StructuralTypeTructuralTyPtructuralGetStructural unctionDef፣ በተቻለ መጠን የተግባር አይነት፣ isFunctionType፣ GetReturnType፣ splitTokenList፣ _IntToHex፣ IEEEUnHex፣ Compiletime.isPointerType፣ Compiletime.isStructType፣ Compiletime.INT_TYPES፣ isType።
  • በ shell.html እና shell_minimal.html አብነቶች ውስጥ፣ በemscripten አሠራር ወቅት የሚከሰቱ የስህተት መልዕክቶች ውፅዓት እና በ stderr በኩል በመተግበሪያው የሚወጡት የስህተት መልዕክቶች ውፅዓት በኮንሶሶል.error ፈንታ console.warn ለመጠቀም በነባሪነት ተቀይሯል።
  • በፋይል ስሞች ውስጥ ጥቅም ላይ የዋለ የተወሰነ የጽሑፍ ኮድ የመግለጽ ችሎታ ታክሏል። የፋይል ስም ሲያልፍ ኢንኮዲንግ በቅጥያ መልክ ሊገለጽ ይችላል፣ ለምሳሌ "a.rsp.utf-8" ወይም "a.rsp.cp1251")።

ምንጭ: opennet.ru

አስተያየት ያክሉ