Emacs internals: Ihe akara akara vs. C++ std: iche na LLVM (akụkụ 3)
Okwu
Mewayz Team
Editorial Team
Emacs Internals: Akpadoro Pointers vs. C++ std:: iche na LLVM (Nkebi nke 3)
Na nkeji ikpeazụ nke usoro anyị, anyị na-abanye n'ụzọ dị oke mkpa nke ụkpụrụ ụlọ: mmejuputa ihe ngosi uru. Anyị enyochala nkwado akụkọ ihe mere eme na nka nka nke akara akara Emacs Lisp wee mee ka ọdịiche dị n'ụdị C++ nke ọgbara ọhụrụ nwere nchekwa. Ugbu a, anyị na-ajụ ajụjụ ahụ dị mkpa: kedu ihe usoro ihe nketa dị ka Emacs nwere ike ịkụziri anyị maka ọdịnihu nke imepụta ngwanrọ, kedu ka nkuzi ndị a si gbakọọ na nyiwe ọgbara ọhụrụ dị ka Mewayz? Azịza ya abụghị naanị n'ịhọrọ usoro, mana n'ịghọta nnukwu azụmaahịa dị n'etiti nrụpụta raw, ụdị nchekwa, na usoro evolushọn ogologo oge.Arụmọrụ dị mkpa: Ebe nchekwa na Ọsọ
Ntụnye aka akara Emacs bụ ọmarịcha ọmarịcha ọkwa dị ala. Site na ịchekwa ụdị ozi ozugbo na ibe n'ibe nke pointer ma ọ bụ obere integer na-ejighị ya, sistemụ ahụ na-enweta ọmarịcha oghere na arụmọrụ nwa oge. N'elu ebe nchekwa dị ntakịrị - ọ nweghị ụdị metadata dị iche iche achọrọ maka uru ọ bụla. Ọrụ ndị dị ka nlele ụdị na izipu ga-aghọ ihe nkpuchi na ntugharị uche, nke ejiri obere okirikiri CPU mee ya. Ụzọ siri ike a bụ ntọala maka nzaghachi Emacs, na-enye ohere ka gburugburu Lisp dị mgbagwoju anya na nke siri ike na-aga nke ọma ọbụna na usoro mmachi. Maka OS azụmaahịa modular dị ka Mewayz, nke ga-ahazirịrị isi ihe data na usoro na-agakọ ọnụ, ụkpụrụ nrụpụta dị otú ahụ bụ enweghị nkwekọrịta. Ọ bụ ezie na Mewayz na-eji asụsụ ọgbara ọhụrụ, ụdị-adịghị mma maka ntụkwasị obi, nkà ihe ọmụma dị n'okpuru—ịbawanye uru kwa byte na otu okirikiri—na-anọgide na-adị mkpa maka iwulite mkpụrụ ahịa azụmahịa na-eme nke ọma.
Iwu nchekwa na idoanya nke sistemu ọgbara ọhụrụ
Tụgharịa nke a na C++'s std::variant na ụdị sistemụ LLVM nke ya. Ndị a na-anọchi anya mgbanwe ngbanwe site na "njikarịcha-mbụ" gaa na "mmezi-site-ichepụta." A std::variant na-edepụta nke ọma ụdịdị ya n'oge a na-achịkọta, na-eme ka steeti ndị iwu na-akwadoghị enweghị atụ. Onye nchịkọta ihe nwere ike ijide ụdị njehie ogologo oge tupu emebie ya, na ebumnuche koodu ahụ na-aghọ ihe ndekọ onwe ya. Ojiji dị ukwuu nke LLVM nke ụdị nrịbama opaque na ozi ụdị oge ịgba ọsọ pụtara (RTTI) na nnochite anya ya na-emesiwanye usoro ahaziri ahazi, nke enwere ike ịhụ maka data. Ngbanwe a na-egosipụta mgbanwe n'ime ngwanrọ azụmahịa: site na ngwa adịghị ike, monolithic ruo na siri ike, sistemu modular. N'ime gburugburu ebe obibi Mewayz, ebe mgbagha azụmahịa, akpaaka, na iguzosi ike n'ezi ihe data ga-abụrịrị ihe mgbochi, nkwa ndị a na-enye ụdị nchekwa abstraction nke ọgbara ọhụrụ dị oke mkpa maka idobe anya na igbochi mmejọ ndị dị oke ọnụ dị ka usoro usoro.
Nkà ihe ọmụma ihe owuwu: Amamihe nke kpara vs. Rigor ọgbara ọhụrụ
Nhọrọ n'etiti ụdị ndị a abụghị naanị teknụzụ; ọ bụ nkà ihe ọmụma. Emacs na-egosipụta pragmatism "ka njọ" - ngwọta dị mfe, ngwa ngwa nke na-arụ ọrụ nke ọma iji wuo ụlọ ọrụ dị elu n'elu ya. Ogologo ndụ ya bụ ihe akaebe maka ike nke ụzọ a. Ụdị C ++/LLVM ọgbara ọhụrụ na-anakwere mgbagwoju anya "mee ya nke ọma", na-anabata imewe mbụ maka nchekwa na ogologo oge. N'ụzọ na-akpali mmasị, ha abụọ na-agbakọta. Emacs ejirila nke nta nke nta webata ụdị nlele na modularity karịa, ebe ndị na-achịkọta C++ na-eji ike na-ebulistd:: variant iji kwado arụmọrụ nke otu ndị ejiri aka tinye aka. Isi ihe mmụta maka sistemụ ọ bụla dị mgbagwoju anya, gụnyere OS azụmahịa, bụ imeziwanye echiche ndị a.
Ụkpụrụ isi na-esi na dichotomy a pụta gụnyere:
- Njikwaa nke dabara adaba maka ebumnuche: Tinye usoro dị ala dị ka mkpado na cores arụmọrụ dị oke egwu, mana jiri API nchekwa kpuchie sistemu sara mbara.
- Nkwekọrịta doro anya: Ma site na mkpado bit ma ọ bụ ndebiri dị iche iche, kọwaa nke ọma ihe data nwere ike iru ebe.
- Evolushọn nwayọọ nwayọọ: Usoro ihe nketa nwere ike jikọta atụmatụ nchekwa ọgbara ọhụrụ, na usoro ọgbara ọhụrụ nwere ike were usoro nketa nke ọma ebe egosipụtara.
- Mgbanwe Modular: Nwere usoro ngosipụta uru dị iche iche n'ime oghere akọwapụtara nke ọma, na-enye ohere ka sistemụ ọ bụla jiri ngwa kacha mma.
"Akụkọ nke mgbakọ na mwepụ bụ akụkọ banyere ijikwa mgbagwoju anya site na abstraction, na-enweghị inyefe nchịkwa dị mkpa. Emacs's tagged pointers na C ++'s std :: variant dị iche iche na nke a na-adịgide adịgide ụdịdị dị iche iche, onye ọ bụla na-akụziri anyị otú e si ewu usoro ndị dị ike na traktị. "
Nkwubi okwu: Jiri Nhọrọ Amaara wulite Ọdịnihu
N'ikpeazụ, njem site na akara akara Emacs Lisp gaa na C++'sstd:: variant na abstractions LLVM bụ maapụ injinia ngwanrọ. Ọ na-akọwapụta ụzọ site na mpụnara ngwa ngwa, nke na-amaghị ihe onwunwe gaa na ahaziri ahazi, nke a kpachapụrụ anya—na-agbahapụ kpam kpam omume ọma nke mbụ. Maka ikpo okwu dị ka Mewayz, ọnọdụ akụkọ ihe mere eme a bara uru. Ọ na-eme ka nhazi nke OS azụmaahịa anyị modular, na-eduzi ebe anyị na-arụ ọrụ nke ọma n'ime igwe isi anyị yana ebe anyị na-amanye ụdị nchekwa siri ike na modul na njikọta nke onye ọrụ anyị. Site n'ịghọta ike na nkwekọrịta nke usoro ntọala dị ka akara akara akara, anyị nwere ike iwulite usoro ndị na-abụghị nanị ndị dị ike ma na-agbanwe agbanwe kamakwa na-agbanwe agbanwe na nke doro anya-nwere ike ịkwado mkpa siri ike, mgbagwoju anya nke azụmahịa ọgbara ọhụrụ na-enweghị ịdaba na nbibi nke oge gara aga.💡 DID YOU KNOW?
Mewayz replaces 8+ business tools in one platform
CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.
Start Free →Ajụjụ a na-ajụkarị
Emacs Internals: Akpadoro Pointers vs. C++ std:: iche na LLVM (Nkebi nke 3)
Na nkeji ikpeazụ nke usoro anyị, anyị na-abanye n'ụzọ dị oke mkpa nke ụkpụrụ ụlọ: mmejuputa ihe ngosi uru. Anyị enyochala nkwado akụkọ ihe mere eme na nka nka nke akara akara Emacs Lisp wee mee ka ọdịiche dị n'ụdị C++ nke ọgbara ọhụrụ nwere nchekwa. Ugbu a, anyị na-ajụ ajụjụ ahụ dị mkpa: kedu ihe usoro ihe nketa dị ka Emacs nwere ike ịkụziri anyị maka ọdịnihu nke imepụta ngwanrọ, kedu ka nkuzi ndị a si gbakọọ na nyiwe ọgbara ọhụrụ dị ka Mewayz? Azịza ya abụghị naanị n'ịhọrọ usoro, mana n'ịghọta nnukwu azụmaahịa dị n'etiti nrụpụta raw, ụdị nchekwa, na usoro evolushọn ogologo oge.Arụmọrụ dị mkpa: Ebe nchekwa na Ọsọ
Ntụnye aka akara Emacs bụ ọmarịcha ọmarịcha ọkwa dị ala. Site na ịchekwa ụdị ozi ozugbo na ibe n'ibe nke pointer ma ọ bụ obere integer na-ejighị ya, sistemụ ahụ na-enweta ọmarịcha oghere na arụmọrụ nwa oge. N'elu ebe nchekwa dị ntakịrị - ọ nweghị ụdị metadata dị iche iche achọrọ maka uru ọ bụla. Ọrụ ndị dị ka nlele ụdị na izipu ga-aghọ ihe nkpuchi na ntugharị uche, nke ejiri obere okirikiri CPU mee ya. Ụzọ siri ike a bụ ntọala maka nzaghachi Emacs, na-enye ohere ka gburugburu Lisp dị mgbagwoju anya na nke siri ike na-aga nke ọma ọbụna na usoro mmachi. Maka OS azụmaahịa modular dị ka Mewayz, nke ga-ahazirịrị isi ihe data na usoro na-agakọ ọnụ, ụkpụrụ nrụpụta dị otú ahụ bụ enweghị nkwekọrịta. Ọ bụ ezie na Mewayz na-eji asụsụ ọgbara ọhụrụ, ụdị-adịghị mma maka ntụkwasị obi, nkà ihe ọmụma dị n'okpuru—ịbawanye uru kwa byte na otu okirikiri—na-anọgide na-adị mkpa maka iwulite mkpụrụ ahịa azụmahịa na-eme nke ọma.
Iwu nchekwa na idoanya nke sistemu ọgbara ọhụrụ
Tụgharịa nke a na C ++'s std :: variant na ụdị LLVM nke ya. Ndị a na-anọchi anya mgbanwe ngbanwe site na "njikarịcha-mbụ" gaa na "mmezi-site-ichepụta." Otu std :: iche na-akọwapụta ụdị ya nke ọma n'oge a na-achịkọta, na-eme ka steeti ndị iwu na-akwadoghị enweghị atụ. Onye nchịkọta ihe nwere ike ijide ụdị njehie ogologo oge tupu emebie ya, na ebumnuche koodu ahụ na-aghọ ihe ndekọ onwe ya. Ojiji dị ukwuu nke LLVM nke ụdị nrịbama opaque na ozi ụdị oge ịgba ọsọ pụtara (RTTI) na nnochite anya ya na-emesiwanye usoro ahaziri ahazi, nke enwere ike ịhụ maka data. Ngbanwe a na-egosipụta mgbanwe n'ime ngwanrọ azụmahịa: site na ngwa adịghị ike, monolithic ruo na siri ike, sistemu modular. N'ime gburugburu ebe obibi Mewayz, ebe mgbagha azụmahịa, akpaaka, na iguzosi ike n'ezi ihe data ga-abụrịrị ihe mgbochi, nkwa ndị a na-enye ụdị nchekwa abstraction nke ọgbara ọhụrụ dị oke mkpa maka idobe anya na igbochi mmejọ ndị dị oke ọnụ dị ka usoro usoro.Nkà ihe ọmụma ihe owuwu: Amamihe nke chiri anya vs. Rigor ọgbara ọhụrụ
Nhọrọ n'etiti ụdị ndị a abụghị naanị teknụzụ; ọ bụ nkà ihe ọmụma. Emacs na-egosipụta pragmatism "ka njọ" - ngwọta dị mfe, ngwa ngwa nke na-arụ ọrụ nke ọma iji wuo ụlọ ọrụ dị elu n'elu ya. Ogologo ndụ ya bụ ihe akaebe maka ike nke ụzọ a. Ụdị C ++/LLVM ọgbara ọhụrụ na-anakwere mgbagwoju anya "mee ya nke ọma", na-anabata imewe mbụ maka nchekwa na ogologo oge. N'ụzọ na-akpali mmasị, ha abụọ na-agbakọta. Emacs ejirila nke nta nke nta webata ụdị nlele na modularity karịa, ebe ndị na-achịkọta C ++ na-eji ike na-ebuli std :: iche iche iji merie arụmọrụ nke otu ndị ejiri aka tinye aka. Isi ihe mmụta maka sistemụ ọ bụla dị mgbagwoju anya, gụnyere OS azụmahịa, bụ imeziwanye echiche ndị a.Nkwubi okwu: Jiri Nhọrọ Amaara wulite Ọdịnihu
N'ikpeazụ, njem site na akara akara Emacs Lisp gaa na C++'s std :: variant na abstractions LLVM bụ maapụ injinia ngwanrọ. Ọ na-akọwapụta ụzọ site na mpụnara ngwa ngwa, nke na-amaghị ihe onwunwe gaa na ahaziri ahazi, nke a kpachapụrụ anya—na-agbahapụ kpam kpam omume ọma nke mbụ. Maka ikpo okwu dị ka Mewayz, ọnọdụ akụkọ ihe mere eme a bara uru. Ọ na-eme ka nhazi nke OS azụmaahịa anyị modular, na-eduzi ebe anyị na-arụ ọrụ nke ọma n'ime igwe isi anyị yana ebe anyị na-amanye ụdị nchekwa siri ike na modul na njikọta nke onye ọrụ anyị. Site n'ịghọta ike na nkwekọrịta nke usoro ntọala dị ka akara akara akara, anyị nwere ike iwulite usoro ndị na-abụghị nanị ndị dị ike ma na-agbanwe agbanwe kamakwa na-agbanwe agbanwe na nke doro anya-nwere ike ịkwado mkpa siri ike, mgbagwoju anya nke azụmahịa ọgbara ọhụrụ na-enweghị ịdaba na nbibi nke oge gara aga.Ngwaọrụ azụmahịa gị niile n'otu ebe
Kwụsị ịgbanye ọtụtụ ngwa. Mewayz na-ejikọta ngwaọrụ 208 maka naanị $49 / ọnwa - site na ngwa ahịa gaa na HR, ntinye akwụkwọ na nyocha. Enweghị kaadị kredit achọrọ ịmalite.
Gbalịa Mewayz Free →>Try Mewayz Free
All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.
Get more articles like this
Weekly business tips and product updates. Free forever.
You're subscribed!
Start managing your business smarter today
Join 6,208+ businesses. Free forever plan · No credit card required.
Ready to put this into practice?
Join 6,208+ businesses using Mewayz. Free forever plan — no credit card required.
Start Free Trial →Related articles
Hacker News
A cache-friendly IPv6 LPM with AVX-512 (linearized B+-tree, real BGP benchmarks)
Apr 20, 2026
Hacker News
Contra Benn Jordan, data center (and all) sub-audible infrasound issues are fake
Apr 20, 2026
Hacker News
The insider trading suspicions looming over Trump's presidency
Apr 20, 2026
Hacker News
Claude Token Counter, now with model comparisons
Apr 20, 2026
Hacker News
Show HN: A lightweight way to make agents talk without paying for API usage
Apr 20, 2026
Hacker News
Show HN: Run TRELLIS.2 Image-to-3D generation natively on Apple Silicon
Apr 20, 2026
Ready to take action?
Start your free Mewayz trial today
All-in-one business platform. No credit card required.
Start Free →14-day free trial · No credit card · Cancel anytime