ಎಮ್‌ಸ್ಕ್ರಿಪ್ಟನ್ 3.0, LLVM ಅನ್ನು ಬಳಸಿಕೊಂಡು WebAssembly ಗಾಗಿ ಬಿಲ್ಡ್ ಟೂಲ್‌ಚೈನ್

ಇತ್ತೀಚೆಗೆ ಎಂಸ್ಕ್ರಿಪ್ಟನ್ 3.0 ಕಂಪೈಲರ್‌ನ ಹೊಸ ಆವೃತ್ತಿಯ ಬಿಡುಗಡೆಯನ್ನು ಘೋಷಿಸಲಾಯಿತು, ಇದು ಕಡಿಮೆ ಮಟ್ಟದ ಸಾರ್ವತ್ರಿಕ ಮಿಡಲ್‌ವೇರ್ ವೆಬ್‌ಅಸೆಂಬ್ಲಿಯಲ್ಲಿ ಸಿ / ಸಿ ++ ಮತ್ತು ಎಲ್‌ಎಲ್‌ವಿಎಂ ಆಧಾರಿತ ಮುಂಭಾಗಗಳು ಲಭ್ಯವಿರುವ ಇತರ ಭಾಷೆಗಳಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಕಂಪೈಲ್ ಮಾಡಲು ಅನುಮತಿಸುವ ಮೂಲಕ ನಿರೂಪಿಸಲಾಗಿದೆ.

ಈ ಸಂಕಲನದ ಮುಖ್ಯ ಕಾರ್ಯವೆಂದರೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಾಜೆಕ್ಟ್‌ಗಳೊಂದಿಗೆ ಅದರ ನಂತರದ ಏಕೀಕರಣ, ವೆಬ್ ಬ್ರೌಸರ್‌ನಲ್ಲಿ ರನ್ ಮಾಡುವುದು ಮತ್ತು ನೋಡ್‌ನಲ್ಲಿ ಬಳಸುವುದು. Js ಅಥವಾ ಕ್ರಾಸ್-ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಸ್ವತಂತ್ರ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ರಚಿಸಿ ಅದು ವಾಸ್ಮ್ ರನ್‌ಟೈಮ್‌ನೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.

ಎಂಸ್ಕ್ರಿಪ್ಟನ್ ಬಗ್ಗೆ

ಮುಖ್ಯ ಗುರಿ ಎಂಸ್ಕ್ರಿಪ್ಟನ್ ಯೋಜನೆಯ ಅಭಿವೃದ್ಧಿ ವೆಬ್‌ನಲ್ಲಿ ಕೋಡ್ ಅನ್ನು ಚಲಾಯಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಸಾಧನವನ್ನು ರಚಿಸುವುದು, ಅದನ್ನು ಬರೆಯಲಾದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯ ಹೊರತಾಗಿಯೂ.

ಕಂಪೈಲ್ ಮಾಡಿದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಪ್ರಮಾಣಿತ C ಮತ್ತು C ++ ಲೈಬ್ರರಿ ಕರೆಗಳನ್ನು ಬಳಸಬಹುದು (libc, libcxx), C ++ ವಿಸ್ತರಣೆಗಳು, pthreads-ಆಧಾರಿತ ಮಲ್ಟಿಥ್ರೆಡಿಂಗ್, POSIX API, ಮತ್ತು ಅನೇಕ ಮಲ್ಟಿಮೀಡಿಯಾ ಲೈಬ್ರರಿಗಳು. ವೆಬ್ API ಮತ್ತು JavaScript ಕೋಡ್‌ನೊಂದಿಗೆ ಏಕೀಕರಣಕ್ಕಾಗಿ API ಗಳನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಒದಗಿಸಲಾಗಿದೆ.

ಎಂಸ್ಕ್ರಿಪ್ಟನ್ ಕ್ಯಾನ್ವಾಸ್ ಮೂಲಕ SDL2 ಲೈಬ್ರರಿ ಔಟ್‌ಪುಟ್‌ನ ಸ್ಟ್ರೀಮಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಮತ್ತು WebGL ಮೂಲಕ OpenGL ಮತ್ತು EGL ಬೆಂಬಲವನ್ನು ಸಹ ಒದಗಿಸುತ್ತದೆ, ಗ್ರಾಫಿಕ್ಸ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಮತ್ತು ಆಟಗಳನ್ನು WebAssembly ಗೆ ಪರಿವರ್ತಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

ವಾಸ್ತವಿಕವಾಗಿ ಯಾವುದೇ ಪೋರ್ಟಬಲ್ C ಅಥವಾ C ++ ಕೋಡ್ ಬೇಸ್ ಅನ್ನು ಎಮ್‌ಸ್ಕ್ರಿಪ್ಟನ್ ಬಳಸಿ ವೆಬ್‌ಅಸೆಂಬ್ಲಿಯಲ್ಲಿ ಕಂಪೈಲ್ ಮಾಡಬಹುದುಗ್ರಾಫಿಕ್ಸ್ ಅನ್ನು ನಿರೂಪಿಸಲು, ಧ್ವನಿಗಳನ್ನು ಪ್ಲೇ ಮಾಡಲು ಮತ್ತು ಫೈಲ್‌ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಮತ್ತು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಅಗತ್ಯವಿರುವ ಉನ್ನತ-ಕಾರ್ಯಕ್ಷಮತೆಯ ಆಟಗಳಿಂದ ಕ್ಯೂಟಿಯಂತಹ ಅಪ್ಲಿಕೇಶನ್ ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳವರೆಗೆ. ಅನ್ರಿಯಲ್ ಎಂಜಿನ್ 4 ಮತ್ತು ಯೂನಿಟಿ ಎಂಜಿನ್‌ನಂತಹ ವಾಣಿಜ್ಯ ಕೋಡ್ ಬೇಸ್‌ಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ನೈಜ-ಪ್ರಪಂಚದ ಕೋಡ್ ಬೇಸ್‌ಗಳ ದೀರ್ಘ ಪಟ್ಟಿಯನ್ನು ವೆಬ್‌ಅಸೆಂಬ್ಲಿಗೆ ಪರಿವರ್ತಿಸಲು ಎಂಸ್ಕ್ರಿಪ್ಟನ್ ಅನ್ನು ಈಗಾಗಲೇ ಬಳಸಲಾಗಿದೆ.

C / 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").

ಅಂತಿಮವಾಗಿ, ನೀವು ಎಂಸ್ಕ್ರಿಪ್ಟನ್ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಲು ಆಸಕ್ತಿ ಹೊಂದಿದ್ದರೆ, ನೀವು ಯೋಜನೆಯ ವಿವರಗಳನ್ನು ಅದರಲ್ಲಿ ಸಂಪರ್ಕಿಸಬಹುದು ಅಧಿಕೃತ ಜಾಲತಾಣ.

ಮತ್ತು ಅದೇ ರೀತಿಯಲ್ಲಿ, ನೀವು ಎಂಸ್ಕ್ರಿಪ್ಟನ್ ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದರ ಕುರಿತು ವೆಬ್‌ನಲ್ಲಿ ದಾಖಲಾತಿಗಳನ್ನು ಸಂಪರ್ಕಿಸಬಹುದು, ನಾವು ಶಿಫಾರಸು ಮಾಡಬಹುದಾದ ಉಲ್ಲೇಖ ಸೈಟ್ ಮೊಜಿಲ್ಲಾ ಡೆವಲಪರ್ ವೆಬ್‌ಸೈಟ್: https://developer.mozilla.org.

ಅಲ್ಲದೆ, ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ಅನ್ನು ಎಂಐಟಿ ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ ಎಂದು ನಮೂದಿಸುವುದು ಮುಖ್ಯವಾಗಿದೆ. ಕಂಪೈಲರ್ LLVM ಯೋಜನೆಯಿಂದ ಬೆಳವಣಿಗೆಗಳನ್ನು ಬಳಸುತ್ತದೆ ಮತ್ತು WebAssembly ಮತ್ತು ಆಪ್ಟಿಮೈಸೇಶನ್ ಅನ್ನು ಉತ್ಪಾದಿಸಲು Binaryen ಲೈಬ್ರರಿಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ನಿಮ್ಮ ಕೋಡ್ ಅನ್ನು ನೀವು ಪರಿಶೀಲಿಸಬಹುದು GitHub ನಲ್ಲಿ ಮೂಲ.


ನಿಮ್ಮ ಅಭಿಪ್ರಾಯವನ್ನು ಬಿಡಿ

ನಿಮ್ಮ ಈಮೇಲ್ ವಿಳಾಸ ಪ್ರಕಟವಾದ ಆಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಜಾಗ ಗುರುತಿಸಲಾಗಿದೆ *

*

*

  1. ಡೇಟಾಗೆ ಜವಾಬ್ದಾರಿ: AB ಇಂಟರ್ನೆಟ್ ನೆಟ್ವರ್ಕ್ಸ್ 2008 SL
  2. ಡೇಟಾದ ಉದ್ದೇಶ: ನಿಯಂತ್ರಣ SPAM, ಕಾಮೆಂಟ್ ನಿರ್ವಹಣೆ.
  3. ಕಾನೂನುಬದ್ಧತೆ: ನಿಮ್ಮ ಒಪ್ಪಿಗೆ
  4. ಡೇಟಾದ ಸಂವಹನ: ಕಾನೂನುಬದ್ಧ ಬಾಧ್ಯತೆಯನ್ನು ಹೊರತುಪಡಿಸಿ ಡೇಟಾವನ್ನು ಮೂರನೇ ವ್ಯಕ್ತಿಗಳಿಗೆ ಸಂವಹನ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
  5. ಡೇಟಾ ಸಂಗ್ರಹಣೆ: ಆಕ್ಸೆಂಟಸ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು (ಇಯು) ಹೋಸ್ಟ್ ಮಾಡಿದ ಡೇಟಾಬೇಸ್
  6. ಹಕ್ಕುಗಳು: ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಮಿತಿಗೊಳಿಸಬಹುದು, ಮರುಪಡೆಯಬಹುದು ಮತ್ತು ಅಳಿಸಬಹುದು.