Haɗu da sabon sigar Cosmopolitan 2.0, madaidaicin ɗakin karatu na C

Kaddamar da sabon sigar aikin "Cosmopolitan 2.0", wanda ke haɓaka ma'auni na ɗakin karatu na C da tsarin fayil na duniya wanda za'a iya amfani dashi don rarraba shirye-shirye don tsarin aiki daban-daban ba tare da amfani da masu fassara da na'urori masu mahimmanci ba.

Akwati don samar da fayilolin aiwatarwa na duniya ya dogara da haɗa takamaiman sassa da rubutun kai daga tsarin daban-daban Tsarukan aiki cikin fayil ɗaya, yana haɗa nau'ikan nau'ikan nau'ikan nau'ikan da aka yi amfani da su a cikin Unix, Windows, da macOS.

Don tabbatar da hakan guda executable gudu a kan tsarin Windows da Unix, Ana amfani da dabara don ɓoye fayilolin Windows PE azaman rubutun harsashi, yin amfani da gaskiyar cewa Thompson Shell baya amfani da alamar rubutun "#!".

Don ƙirƙirar shirye-shirye waɗanda suka haɗa da fayiloli da yawa (haɗa duk albarkatun cikin fayil ɗaya), ana tallafawa don samar da fayil ɗin da za'a iya aiwatarwa a cikin nau'in faifan tarihin ZIP na musamman. Bayanin tsarin da aka tsara (misali hello.com aikace-aikacen):

An samar da kiran qemu-x86_64 don ƙarin ɗaukar nauyi kuma yana ba da damar lambar da aka haɗa don tsarin gine-ginen x86_64 don gudana akan dandamali marasa x86, kamar allon Rasberi Pi da na'urorin Apple sanye take da na'urori masu sarrafa ARM. Hakanan za'a iya amfani da aikin don ƙirƙirar aikace-aikace na tsaye waɗanda ke aiki ba tare da tsarin aiki ba (ƙarfe bare). A cikin irin waɗannan aikace-aikacen, ana haɗe bootloader zuwa fayil ɗin da za a iya aiwatarwa, kuma shirin yana aiki azaman tsarin aiki na bootable.

Babban sabbin labarai na Cosmopolitan 2.0

A cikin wannan sabon sigar an haskaka cewa an canza tsarin samun damar albarkatun cikin gida dentro daga zip file (lokacin buɗe fayiloli, ana amfani da hanyoyin /zip/… na yau da kullun maimakon amfani da zip: prefix). Hakazalika, don samun damar faifai a cikin Windows, yana yiwuwa a yi amfani da hanyoyi kamar "/c/..." maimakon "C:/...".

An gabatar da sabon mai ɗaukar gwangwani gwangwani (A gaskiya Portable Executable), wanda ke bayyana tsarin fayilolin aiwatarwa na duniya. Sabuwar bootloader yana amfani da mmap don rarraba shirin zuwa ƙwaƙwalwar ajiya kuma baya canza abun ciki akan tashi. Idan ya cancanta, ana iya jujjuya abin aiwatarwa na duniya zuwa abubuwan aiwatarwa na yau da kullun waɗanda ke daure da dandamali ɗaya.

A Linux, yana yiwuwa a yi amfani da tsarin binfmt_misc kernel don gudanar da shirye-shiryen APE. An lura cewa yin amfani da binfmt_misc shine hanyar farawa mafi sauri, ban da An aiwatar da Ayyukan alƙawarin () da buɗe () tsarin kiran tsarin, wanda aikin OpenBSD ya haɓaka, da kuma samar da API don amfani da bayanan kira a cikin shirye-shiryen C, C++, Python, da Redbean, da kuma mai amfani daga promise.com don ware matakai na sabani.

Hakanan zamu iya samun hakan na Linux, aikin clock_gettime da kuma samun saƙon rana ya ƙaru har zuwa sau 10 saboda amfani da tsarin vDSO (Virtual Dynamic Shared Object), wanda ke ba da damar canja wurin mai kula da tsarin kira zuwa sararin mai amfani da ketare mahallin sauyawa.

Ginin yana amfani da Landlock Make, wani bugu na GNU Make tare da tsauraran abin dogaro da kuma amfani da tsarin tsarin Landlock kira don ware shirin daga sauran tsarin da inganta ingantaccen caching. A matsayin zaɓi, iyawar mai tarawa da GNU Make na yau da kullun ana kiyaye su.

A gefe guda kuma, yana haskakawa aiwatar da ayyuka don multithreading: _spawn() da _join(), waxanda suke daure na duniya akan takamaiman APIs don tsarin aiki daban-daban. Ana kuma ci gaba da aiki don aiwatar da tallafi don zaren POSIX.

Daga sauran canje-canjen da suka yi fice:

  • Ƙara goyon baya don zaɓin "–ftrace" da "-strace" zuwa fayilolin aiwatarwa don aika bayanai game da duk kiran aiki da kiran tsarin zuwa stderr.
  • Ƙara goyon baya don kiran tsarin kusa () mai dacewa da Linux 5.9+, FreeBSD 8+ da OpenBSD.
  • Ayyukan lissafi don aiki tare da lambobi masu rikitarwa an motsa su daga ɗakin karatu na Musl.
  • An haɓaka ayyukan lissafi da yawa.
  • Ana ba da shawarar aikin nointernet(), wanda ke hana damar cibiyar sadarwa.
  • Ƙara sabbin ayyuka zuwa ingantaccen haɗa kirtani: appendd, appendf, appendr, appends, appendw, appendz, kappendf, kvappendf, da vappendf.
  • An ƙara ingantaccen sigar dangin kprintf() na ayyuka, ƙirƙira don aiki tare da manyan gata, an ƙara.
  • Ingantaccen ingantaccen aiki na SSL, SHA, curve25519, da aiwatar da RSA.

A ƙarshe, idan kuna sha'awar ƙarin koyo game da shi, ya kamata ku san cewa lambar aikinko kuma an rarraba a ƙarƙashin lasisin ISC (Sauƙaƙan sigar MIT/BSD).


Bar tsokaci

Your email address ba za a buga. Bukata filayen suna alama da *

*

*

  1. Alhakin bayanai: AB Internet Networks 2008 SL
  2. Manufar bayanan: Sarrafa SPAM, sarrafa sharhi.
  3. Halacci: Yarda da yarda
  4. Sadarwar bayanan: Ba za a sanar da wasu bayanan ga wasu kamfanoni ba sai ta hanyar wajibcin doka.
  5. Ajiye bayanai: Bayanin yanar gizo wanda Occentus Networks (EU) suka dauki nauyi
  6. Hakkoki: A kowane lokaci zaka iyakance, dawo da share bayanan ka.