Hermes بولسا ھازىرقى Meta (ئىلگىركى Facebook) نىڭ مەخسۇس تۆۋەن سەپلىمىلىك ئۈسكۈنىلەر ئۈچۈن مەخسۇس ئەلالاشتۇرۇپ لاھىيەلەنگەن JavaScript ماتورى بولۇپ Jit ھالەتتە Compile قىلىشنى قوللايدۇ، ئىگىلىگەن ئىچكى ساقلىغۇچ Google V8 كە قارىغاندا تۆۋەن، قوزغىلىش سۈرئىتى چاقماقتەك تىز بولۇش ئەۋزەللىكى بىلەن React native غا ئىشلىتىلگەن،
ئۇ بولسا ئوچۇق كودلۇق پروجىكىت بولغانلىقى ئۈچۈن بىز Github دىن ئۇنىڭ كودىنى چۈشۈرۈپ ناھايتى ئاسانلا Compile قىلىپ ئىشلىتەلەيمىز،
مەن بۇ JavaScript Engine نى تۆۋەندىكى بىر قانچە سەۋەبلەر تۈپەيلىدىن ياقتۇرۇپ قالدىم:
- ئىشلىتىش قولاي (C++ دا ئوبىيكىتقا يۈزلەنگەن ھالەتتە ئىشلىتىمىز، C api ئەمەس)
- قاتتىق دېتال مەنبەسى ئىگىلىشى تۆۋەن، سۈرئىتى تىز،
- ئەڭ مۇھىم سەۋەبلەرنىڭ بىرى Compile قىلىش ئاسان، Google v8 دەك depot-tools غا ئوخشاش شەخسى نەرسىلەرنى ئىشلەتمەيمىز، بىزنىڭ رايۇنىمىزدا v8 نىڭ تايانمىلىرىنى نۇرمال چۈشۈرگىلى بولمايدۇ،
- CMake بىلەن بىر بۇيرۇق بىلەنلا Compile قىلىمىز،
- Linux, Android, iOS, Windows, macOS, Emscripten WebAssembly مەشغۇلات سىستېمىلىرىنى ۋە X86_64, arm32, arm64 قۇرۇلمىلىق CPU لارنى قوللايدۇ،
ئۇنداقتا باشلاپ كېتەيلىمۇ؟
(مېنىڭ مەشغۇلات سىستېمام Linux, ئەگەردە سىز Windows ياكى macOS ئىشلىتىۋاتقان بولسڭىز ئاقىۋىتىگە ئۆزىڭىز ئىگە LOL)
كىتەرلىك تەييارلىقلار:
- Gcc, Clang قاتارلىق Compiler دىن بىرسى،
- CMake ھەمدە Gnu make ياكى Ninja قاچىلانغان بولسۇن،
- باشقا تايانمىلارنى Compile قىلىش جەريانىدا ئۆزى ئەسكەرتىدۇ،
0x01 ئەسلى كودىنى چۈشۈرۈش
0x02 يېڭى مۇندەرىجە قۇرۇڭ، CMake دىن Ninja نى ھاسىللىتىڭ
مەسىلەن mkdir build
بىلەن يېڭى مۇندەرىجە قۇرۇپ cd build
بىلەن ئىچىگە كىرىڭ، ئاندىن تېرمىنالىڭىزدا تۆۋەندىكى بۇيرۇقنى ئىجرا قىلىڭ:
cmake ../ -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/hermes-engine
ئاندىن ساقلىسڭىز تۆەندىكىدەك CMake كىتەرلىك Compiler ۋە تايانمىلارنى تەكشۈرۈپ Ninja نىڭ ھۆججىتىنى ھاسىللاپ بېرىدۇ،
Compile قىلىشنى باشلاڭ
تېرمىنالغا مۇنۇ بۇيرۇقنى يېزىپ Compile قىلىشنى باشلاڭ، بۇ كومپىيۇتېرىڭىزنىڭ CPU سىنىڭ يادرو سانى ۋە تىزلىكىگە قاراپ كېتىدىغان ۋاقىتمۇ ئوخشىمايدۇ، مەسىلەن مېنىڭ 16 يادرولۇق i5 12. ئەۋلاد سىپىيۇدا 2 مىنۇت ئەتراپىدا كەتتى،
time ninja
ياكى ninja
Compile قىلىش تامام،
قاچىلاڭ
Terminalلىڭىزدا ninja installl
نى ئىجرا قىلىپ ھاسىل بولغان ئىجرا ھۆججەت ۋە Shared Library نى /opt/hermes-engine نىڭ ئاستىغا قاچىلاڭ,
تامام، ئۆزىدىكى CLI بىلەن سىناپ باقامدۇق؟
Perfect.
--- شىنجاڭ ئالماس يۇمشاق دېتال چەكلىك شىركىتى https://almas.biz https://mulazim.com