C programavimas

Kaip naudotis Pasirinkite sistemos iškvietimą C

Kaip naudotis Pasirinkite sistemos iškvietimą C
„Select“) sistemos iškvietimas leidžia sistemai sekti kelis failų aprašus. Taigi, pasirinktas sistemos iškvietimas laukia, kol vienas iš deskriptorių arba visuma pasirodys „pasirengęs“ tam tikros rūšies įvesties / išvesties veiklai (el.g., galima įvestis). Jei paskesnis įvesties / išvesties procesas (pvz.,.g., skaityti (2)) galima atlikti nepaisant užblokavimo, failo deskriptorius laikomas tinkamu. „Select ()“ metodas apibūdina, ar dokumento aprašą galima skaityti, paruoštas rašyti, ar jis yra išimties būsena. Tarkime, kad nurodyta situacija yra klaidinga dėl visų nurodytų bylos aprašų. Tokiu atveju pasirinkite () sistemos iškvietimo blokai prieš minėtas aplinkybes galioja mažiausiai vienam iš nurodytų dokumentų aprašų, lygių nurodytam skirtojo laiko intervalui.

Pasirinkto sistemos skambučio pavyzdys:

Turėkime paprastą pavyzdį, kaip patikrinti pasirinkto sistemos skambučio veikimą. Atidarykite komandų eilutės apvalkalą naudodami „Ctrl + Alt + T.„Atidarius terminalą įsitikinkite, kad jūsų sistemoje yra įdiegtas C kalbos kompiliatorius, nes kodas be jo neveiks. Jei neturite, išbandykite toliau pateiktą komandą.

$ sudo apt install gcc

Jei norite, kad „Linux select“ sistemos skambutis veiktų, turite įdiegti paketą „manpages-dev“, kaip nurodyta toliau pateiktoje komandoje. Parašykite savo vartotojo slaptažodį, kad galėtumėte tęsti.

$ sudo apt įdiekite manpages-dev

Naudodamiesi žemiau esančia komanda „man“, galite pamatyti pasirinkto sistemos skambučio sintaksę ir veikimą.

$ 2 pasirinkite

Žemiau parodytas pasirinkto sistemos skambučio išvesties vadovas. Išeikite iš jo paspausdami klavišą „q“.

Standartinius katalogus, komandų apvalkalo terminalą ir pseudoterminalo programas, į STREAMS centruotus dokumentus, FIFO, įskaitant vamzdžius, palaiko „select“ (modulis). Select () veikla dokumentų aprašuose, nurodant šiuos kitus failų formatus, nežinoma. Taigi žemiau yra „Select system“ skambučio paaiškinimas.

Ankstesniame paveikslėlyje parodytos sintaksės aprašymas aprašytas žemiau.

Aukščiau yra biblioteka, kuri turi būti įtraukta į C kodą, naudojant pasirinktą sistemos skambutį. Jei jo nėra, kodas neveikia.

The nfds sakinys apibrėžia failų aprašų rinkinį, kuris bus įvertintas. „Select ()“ metodas tikrina failų aprašus nuo 0 iki nfds-1.

Nors readfds nėra nulis, tai nurodo formos fd_set masyvą, kuris apibrėžia, kuriuos dokumentų aprašus reikia patikrinti, ar jie pasirengę skaityti įvestyje, ir kuriuos dokumentų aprašus reikia nustatyti skaityti išvestyje.

Kai writefds parametras nėra tuščias, jis nurodo formos fd_set subjektą, kuris apibrėžia, kuriuos dokumentų aprašus reikia patikrinti, ar jie pasirengę įrašyti įvestį. Dokumentų aprašai turėtų būti paruošti sudaryti išvesties.

Kol errorfds parametras nėra tuščias, jis nurodo objekto rūšį fd_set, kuris nustato, kurie dokumentų aprašai turėtų būti tikrinami laukiant klaidos būsenos įvedant; be to, išvesties metu reikėtų patikrinti dokumentų aprašus.

„Readfds“, „writefds“ ir „errorfds“ parametrai po atlikimo atnaujinami, kad būtų galima parodyti, jog dokumentų aprašai yra paruošti perskaityti, visiškai paruošti rašyti ar net laukia išimties būsenos. Jei vėlesnis bitas yra fiksuotas įvestyje ir atitinkama situacija galioja kiekvienam failo deskriptoriui šiek tiek žemiau nfds, kitas bitas bus veiksmingai įvykdytas.

Nors skirtojo laiko parametras nėra tuščias, jis veda prie struktūros laiko elemento, kuris nustato didžiausią laiką, kol sulaikysite ugnį, kad pasirinkimas būtų baigtas. „Select“) ne visai trukdo, jei toks skirtojo laiko parametras veda prie struktūros laiko objekto su 0 elementų. Pasirinkimas () sustoja, nebent įvykis leidžia gauti vieną iš filtrų su tikru (ne nuliu) rezultatu, nesvarbu, ar skirtasis laikas yra tuščia nuoroda. Pasirinkus (), efektyviai sekasi ir gaunama 0, kai laukimo laikotarpis baigiasi dar prieš įvykstant, o tai gali reikėti, kad viena iš kelių kaukių būtų pritaikyta nuliui.

Ši makrokomanda pašalina rinkinį (ištrina visus dokumentų aprašus). Jį galima naudoti kaip patį pirmąjį žingsnį inicijuojant dokumentų aprašų rinkinį.

Dokumento deskriptorius fd prie kolekcijos pridedamas naudojant šią makrokomandą. Dokumento aprašo naudojimas jau egzistuojančiai kolekcijai neveiktų, todėl dėl to nebus padaryta išimties klaida.

Ši makrokomanda pašalina dokumento aprašą fd iš kolekcijos. Neegzistuojantis rinkinio failo aprašas neveikia, todėl nėra išimtis.

„Select ()“ sistemos skambutis pakeičia kolekcijų informaciją ar duomenis pagal pirmiau minėtas taisykles. FD ISSET () makrokomanda gali būti pašalinta iškviečiant select (), kad pamatytumėte, ar dokumento aprašas lieka pasiekiamas kolekcijoje.

Sukurkime naują C tipo failą pavadinimu „naujas.c “, kaip nurodyta toliau.

$ nano naujas.c

GNU redaktorius atidarytas. Jame užrašykite žemiau esantį kodą. Kode yra antraštės, pagrindinė funkcija su kai kuriais failų aprašais, kaip aprašyta aukščiau. Jame taip pat yra laiko intervalo vertės struktūra. Tada mes naudojome pasirinktą sistemos skambutį, kad patikrintume, ar „if“ sakinyje yra klaida. Paspauskite „Ctrl + S“, kad išsaugotumėte šį kodą, ir „Ctrl + X“, kad neuždarytumėte redaktoriaus.

Dabar sukompiliuokite kodą naudodami „gcc“ instrukciją.

$ gcc naujas.c

Paleiskite kodą ir nepridėkite įvesties. Išvestyje bus parašyta „pasirinkite skirtąjį laiką.“

$ ./ a.išėjo

Vėlgi paleiskite kodą ir įveskite šiek tiek įvesties terminale, t.g., „Aqsa.“Tai pateiks, kad„ duomenys yra prieinami.“

Išvada:

„Ubuntu 20“ įdiegėme pasirinktą sistemos iškvietimą.04 „Linux“ sistema. Kodas turėtų veikti vienodai ir tinkamai visuose „Linux“ paskirstymuose. Tikiuosi, kad šį straipsnį lengva įgyvendinti ir suprasti.

Pridėkite pelės gestus prie „Windows 10“ naudodami šiuos nemokamus įrankius
Pastaraisiais metais kompiuteriai ir operacinės sistemos labai išsivystė. Buvo laikas, kai vartotojai turėjo naudoti komandas naršydami per failų tvar...
Valdykite ir valdykite pelės judėjimą tarp kelių „Windows 10“ monitorių
„Dual Display Mouse Manager“ leidžia jums valdyti ir konfigūruoti pelės judėjimą tarp kelių monitorių, sulėtinant jo judėjimą šalia sienos. „Windows 1...
„WinMouse“ leidžia tinkinti ir pagerinti pelės žymeklio judėjimą „Windows“ kompiuteryje
Jei norite pagerinti numatytąsias pelės žymiklio funkcijas, naudokite nemokamą programinę įrangą „WinMouse“. Tai prideda daugiau funkcijų, kurios padė...