எம்ஸ்கிரிப்டன் 3.0, LLVM ஐப் பயன்படுத்தி WebAssemblyக்கான உருவாக்க கருவித்தொகுப்பு

சமீபத்தில் எம்ஸ்கிரிப்டன் 3.0 கம்பைலரின் புதிய பதிப்பின் வெளியீடு அறிவிக்கப்பட்டது, இது C / C ++ மற்றும் பிற மொழிகளில் LLVM-அடிப்படையிலான முன்னோட்டங்கள் கிடைக்கும், குறைந்த அளவிலான உலகளாவிய மிடில்வேர் WebAssembly இல் குறியீட்டை தொகுக்க அனுமதிப்பதன் மூலம் வகைப்படுத்தப்படுகிறது.

இந்தத் தொகுப்பின் முக்கிய செயல்பாடு, ஜாவாஸ்கிரிப்ட் திட்டங்களுடன் அதன் அடுத்தடுத்த ஒருங்கிணைப்பு, இணைய உலாவியில் இயக்குதல், நோடில் பயன்படுத்துதல். Js அல்லது க்ராஸ்-பிளாட்ஃபார்ம் ஸ்டாண்டலோன் அப்ளிகேஷன்களை உருவாக்கவும், அவை Wasm இயக்க நேரத்துடன் இயங்கும்.

எம்ஸ்கிரிப்டன் பற்றி

முக்கிய குறிக்கோள் எம்ஸ்கிரிப்டன் திட்டத்தின் வளர்ச்சி இணையத்தில் குறியீட்டை இயக்க அனுமதிக்கும் ஒரு கருவியை உருவாக்குவது, அது எழுதப்பட்ட நிரலாக்க மொழியைப் பொருட்படுத்தாமல்.

தொகுக்கப்பட்ட பயன்பாடுகள் நிலையான C மற்றும் C ++ நூலக அழைப்புகளைப் பயன்படுத்தலாம் (libc, libcxx), C ++ நீட்டிப்புகள், pthreads அடிப்படையிலான மல்டித்ரெடிங், POSIX API மற்றும் பல மல்டிமீடியா நூலகங்கள். இணைய ஏபிஐ மற்றும் ஜாவாஸ்கிரிப்ட் குறியீட்டுடன் ஒருங்கிணைப்பதற்கான ஏபிஐகள் தனித்தனியாக வழங்கப்படுகின்றன.

எம்ஸ்கிரிப்டன் கேன்வாஸ் வழியாக SDL2 லைப்ரரி வெளியீட்டை ஸ்ட்ரீமிங் செய்வதை ஆதரிக்கிறது, மற்றும் WebGL மூலம் OpenGL மற்றும் EGL ஆதரவையும் வழங்குகிறது, கிராபிக்ஸ் பயன்பாடுகள் மற்றும் கேம்களை WebAssemblyக்கு மாற்ற உங்களை அனுமதிக்கிறது.

கிட்டத்தட்ட எந்த கையடக்க C அல்லது C ++ குறியீடு அடிப்படையையும் எம்ஸ்கிரிப்டன் பயன்படுத்தி WebAssembly இல் தொகுக்க முடியும்கிராபிக்ஸ் ரெண்டர் செய்ய, ஒலிகளை இயக்க மற்றும் கோப்புகளை ஏற்ற மற்றும் செயலாக்க வேண்டிய உயர் செயல்திறன் கொண்ட கேம்கள் முதல் Qt போன்ற பயன்பாட்டு கட்டமைப்புகள் வரை. அன்ரியல் என்ஜின் 4 மற்றும் யூனிட்டி என்ஜின் போன்ற வணிகக் குறியீடு அடிப்படைகள் உட்பட நிஜ உலகக் குறியீடு தளங்களின் மிக நீண்ட பட்டியலை WebAssemblyக்கு மாற்ற எம்ஸ்கிரிப்டன் ஏற்கனவே பயன்படுத்தப்பட்டுள்ளது.

C / C ++ குறியீட்டைத் தொகுப்பதைத் தவிர, லுவா, சி #, பைதான், ரூபி மற்றும் பெர்ல் ஆகியவற்றிற்கான மொழிபெயர்ப்பாளர்கள் மற்றும் மெய்நிகர் இயந்திரங்கள் உலாவிகளில் தொடங்குவதை உறுதி செய்வதற்காக திட்டங்கள் தனித்தனியாக உருவாக்கப்படுகின்றன. ஸ்விஃப்ட், ரஸ்ட், டி மற்றும் ஃபோர்ட்ரான் போன்ற மொழிகளுக்கு எல்எல்விஎம்மில் கிளாங் அல்லாத இடைமுகங்களைப் பயன்படுத்துவதும் சாத்தியமாகும்.

அதை கவனத்தில் கொள்ள வேண்டும் சொந்த இயக்க நேரம் மற்றும் எம்ஸ்கிரிப்டன் இடையே வேறுபாடுகள் உள்ளன, அதாவது, பொதுவாக, ஈசொந்த குறியீட்டில் சில மாற்றங்களைச் செய்வது அவசியம். பல பயன்பாடுகள் அவற்றின் பிரதான சுழற்சியை வரையறுக்கும் முறையை மட்டுமே மாற்ற வேண்டும் மற்றும் உலாவி / ஜாவாஸ்கிரிப்ட் வரம்புகளுக்கு இடமளிக்கும் வகையில் அவற்றின் கோப்பு கையாளுதலையும் மாற்ற வேண்டும்.

சில குறியீடுகளை நகர்த்துவதை எளிதாக்கும் வரம்புகளும் உள்ளன - நீங்கள் எங்கு அதிக முயற்சி எடுக்க வேண்டும் என்பதைத் தீர்மானிக்க, போர்ட்டபிலிட்டி வழிகாட்டுதல்களைப் படிக்கவும்.

எம்ஸ்கிரிப்டன் 3.0 இன் முக்கிய புதிய அம்சங்கள்

இந்த புதிய பதிப்பில், எம்ஸ்கிரிப்டனில் பயன்படுத்தப்பட்ட musl C நூலகம் பதிப்பு 1.2.2 க்கு புதுப்பிக்கப்பட்டது (பதிப்பு 1.1.15 எம்ஸ்கிரிப்டன் 2.x கிளையில் பயன்படுத்தப்பட்டது).

parseTools.js நூலகத்திலிருந்து செயல்பாடுகளின் ஒரு பகுதி அகற்றப்பட்டது, அவை முக்கியமாக திட்டத்தில் பயன்படுத்தப்படுகின்றன: ரிமூவ் பாயிண்டிங், பாயிண்டிங் லெவல்கள், ரிமூவ்ஆல்பாயிண்டிங், இஸ்வொய்ட் டைப், இஸ்ஸ்ட்ரக்ட் பாயின்டர் டைப், இஸ்அரே டைப், இஸ்ஸ்ட்ரக்ட் டைப், இஸ்வெக்டர் டைப், இஸ்ஸ்ட்ரக்ச்சுரல் டைப் கெட்ஸ்ட்ரக்ச்சுரல் டைப் பார்ட்ஸ், கெட்ஸ்ட்ரக்சுரல் டைப் _இன்ட் டைம் கம்ப்யூல்.

போது shell.html மற்றும் shell_minimal.html டெம்ப்ளேட்களில், பிழை செய்திகளின் வெளியீடு இது எம்ஸ்கிரிப்டன் செயல்பாட்டின் போது நிகழ்கிறது மற்றும் விண்ணப்பத்தால் stderr மூலம் வழங்கப்படுகிறது console.error என்பதற்குப் பதிலாக console.warn ஐப் பயன்படுத்துவதற்கு இயல்பாக மாற்றப்பட்டது.

அதுவும் சிறப்பிக்கப்படுகிறது கோப்பு பெயர்களில் பயன்படுத்தப்படும் ஒரு குறிப்பிட்ட உரை குறியாக்கத்தைக் குறிப்பிடும் திறனைச் சேர்த்தது. கோப்பின் பெயரைக் கடக்கும் போது குறியாக்கத்தை பின்னொட்டாகக் குறிப்பிடலாம், எடுத்துக்காட்டாக "a.rsp.utf-8" அல்லது "a.rsp.cp1251").

இறுதியாக, எம்ஸ்கிரிப்டன் பற்றி மேலும் தெரிந்துகொள்ள நீங்கள் ஆர்வமாக இருந்தால், திட்டத்தில் உள்ள விவரங்களை நீங்கள் பார்க்கலாம் அதிகாரப்பூர்வ இணையதளம்.

அதே வழியில், எம்ஸ்கிரிப்டனை எவ்வாறு பயன்படுத்துவது என்பது குறித்த ஆவணங்களை இணையத்தில் நீங்கள் பார்க்கலாம், இது Mozilla டெவலப்பர் இணையதளத்தை நாங்கள் பரிந்துரைக்கக்கூடிய ஒரு குறிப்பு தளம்: https://developer.mozilla.org.

மேலும், திட்டக் குறியீடு எம்ஐடி உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது என்பதைக் குறிப்பிடுவது முக்கியம். கம்பைலர் LLVM திட்டத்திலிருந்து மேம்பாடுகளைப் பயன்படுத்துகிறது மற்றும் WebAssembly மற்றும் Optimization ஐ உருவாக்க Binaryen நூலகம் பயன்படுத்தப்படுகிறது. உங்கள் குறியீட்டை நீங்கள் சரிபார்க்கலாம் GitHub இல் ஆதாரம்.


உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுகளுக்குப் பொறுப்பு: AB இன்டர்நெட் நெட்வொர்க்ஸ் 2008 SL
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.