Ukuba sengozini ku-Python okuvumela ukuthi imiyalo yesistimu ibizwe ngemibhalo engayodwa

Indlela ishicilelwe ukuze idlule amasistimu okukhishwa kwekhodi ahlukanisiwe ku-Python, ngokusekelwe ekusetshenzisweni kwesiphazamisi esaziwa isikhathi eside esavela ku-Python 2.7, sahlonzwa ngo-2012 futhi ayikalungiswa ku-Python 3. Isiphazamisi sivumela ukusebenzisa okuxhunywe ngokukhethekile. Ikhodi yePython ukuqalisa ukufinyelela kumemori eseyikhululiwe (Sebenzisa-Ngemva Kwamahhala) kuPython. Ekuqaleni, kwakucatshangwa ukuthi iphutha alizange libe usongo lokuphepha futhi ezimweni ezingavamile kakhulu, ngokuvamile ezidalwe ngokwenziwa, zingaholela ekunqanyulweni okungavamile kwesikripthi.

Umcwaningi wezokuvikela ngaphansi kwegama-mbumbulu elithi kn32 waba nentshisekelo enkingeni futhi wakwazi ukulungiselela ukuxhashazwa okusebenzayo okwenza kube nokwenzeka ukubiza noma yimuphi umyalo wesistimu ngaphandle kokufinyelela okuqondile ezindleleni ezifana ne-os.system. Ukuxhaphaza kusetshenziswa kuPython ehlanzekile futhi kusebenza ngaphandle kokungenisa imitapo yolwazi yangaphandle nangaphandle kokufaka isibambi β€œsekhodi.__new__”. Kumahhuku, kuphela i-β€œbuiltin.__id__” esetshenziswayo, ngokuvamile engavinjelwe. Ngasohlangothini olusebenzayo, ikhodi ehlongozwayo ingasetshenziselwa ukweqa izindlela zokuzihlukanisa ezinsizeni nasezindaweni ezahlukahlukene (isibonelo, ezindaweni zokufunda, amagobolondo aku-inthanethi, izibambi ezakhelwe ngaphakathi, njll.), okuvumela ukwenziwa kwekhodi yePython, kodwa kukhawulelwe izingcingo ezitholakalayo futhi ungazivumeli izindlela zokufona njenge-os.system.

Ikhodi ehlongozwayo iyi-analogue yekholi ye-os.system, esebenza ngokusebenzisa ubungozi ku-CPython. Ukuxhaphaza kusebenza nazo zonke izinguqulo ze-Python 3 kumasistimu ane-x86-64 yezakhiwo futhi kubonisa ukusebenza okuzinzile ku-Ubuntu 22.04, ngisho nalapho izindlela zokuvikela ze-PIE, i-RELRO ne-CET zinikwe amandla. Umsebenzi wehla ekutholeni ulwazi kukhodi yePython mayelana nekheli lomunye wemisebenzi kukhodi ye-CPython esebenzisekayo. Ngokusekelwe kuleli kheli, ikheli eliyisisekelo le-CPython ememori kanye nekheli lomsebenzi wesistimu() kusibonelo se-libc esilayishwe kumemori kuyabalwa. Ekugcineni, uguquko oluqondile oluya ekhelini lesistimu ethile luqalwa ngokufaka esikhundleni sesikhombi sempikiswano yokuqala emgqeni othi β€œ/bin/sh”.

Ukuba sengozini ku-Python okuvumela ukuthi imiyalo yesistimu ibizwe ngemibhalo engayodwa


Source: opennet.ru

Engeza amazwana