C programavimas

Kaip naudotis rašymo sistemos skambučiu C

Kaip naudotis rašymo sistemos skambučiu C

Sistemos skambutis yra pagrindinis vartai tarp programų ir „Linux“ operacinės sistemos branduolio. Nors beveik neabejotinai jums reikės turėti sistemos skambutį per visą C programavimo karjerą, nesvarbu, ar siekiate išskirtinio produktyvumo, ar tam tikro stiliaus bruožų, daugumai jūsų reikalavimus. Šiame vadove nustatysime rašymo sistemos iškvietimo C kalba koncepciją.

Sintaksė:

# įtraukti
ssize_t write (int fd, const void * buf, size_t count);

Šioje aukščiau pateiktoje sintaksėje pirmoje eilutėje rodoma sistemos skambučių biblioteka. Antroje eilutėje fd reiškia failo deskriptorių, kuris iš tikrųjų yra skaičius, nurodantis atvirą proceso failą. Raktinis žodis * buf reiškia buferį. Jame yra visi duomenys. Kitas yra skaičius. Tai yra baitų skaičius, kuris turi būti įrašytas į failo aprašą iš buferio.

Įdiekite būtinas sąlygas:

Norėdami paleisti bet kurį C kalbos kodą, pirmiausia turite įdiegti keletą paketų „Linux“ paskirstyme. Jei norite pamatyti daugiau informacijos apie rašymo sistemos iškvietimą, turite tai įdiegti paketą manpages-dev. Norėdami atidaryti terminalą naudodami sparčiuosius klavišus „Ctrl + Alt + T“. Atidarę, parašykite žemiau esančią komandą apt install ir raktą manpages-dev, kad įdiegtumėte manpages.

$ sudo apt įdiekite manpages-dev

Tam, kad įdiegtumėte puslapius, reikės šiek tiek laiko. Palaukite, kol jis bus baigtas.

Po įdiegimo galite pamatyti papildomą informaciją apie „rašyti“ sistemos iškvietimą naudodami žemiau esančią komandą apvalkale.

$ 2 žmogus rašo

Komandos „write“ išvesties žmogaus puslapis pateiktas žemiau. Galite perskaityti informaciją apie tai. Norėdami baigti vadovą, paspauskite q.

Dabar atėjo laikas įdiegti „Gcc“ paketą savo „Linux“ sistemoje, kad jis veiktų C kalba. Norėdami tai padaryti, atidarykite apvalkalą ir parašykite žemiau esančią komandą apt install ir raktinį žodį „gcc“.

$ sudo apt install gcc

Tuo tarpu diegimo metu jis gali paprašyti patvirtinti šį diegimo veiksmą paspausdami „y“, kad tęstumėte, ir „n“, kad jį sustabdytumėte. Taigi palieskite „y“ klavišą ir paspauskite klavišą Enter.

Jis bus įdiegtas jūsų sistemoje per kelias minutes, o paskutinės išvesties eilutės bus tokios, kaip parodyta žemiau esančioje fotografijoje.

Pavyzdžiai:

Turime keletą „rašymo“ sistemos skambučio pavyzdžių mūsų „Linux“ paskirstyme. Todėl atidarykite komandinės eilutės apvalkalą ir sukurkite jame naują C failą su taško „c“ plėtiniu. Norėdami greitai ją sukurti ir atidaryti, turite naudoti žemiau pateiktą nano komandą. Mes jam suteikėme pavadinimą „naujas.c “.

$ nano naujas.c

Žemiau esantis langas bus atidarytas. Dabar jūs turite parašyti pridedamą kodą šiame faile. Į šį kodą įtraukėme unistd.h biblioteka pirma. Tada mes sukūrėme pagrindinę funkciją ir šioje funkcijoje sukūrėme „rašymo“ sistemos iškvietimą. Šiame sistemos kvietime pats pirmasis parametras yra failo aprašas. Tokiu atveju sveikas skaičius 1 reiškia išvesties įrenginio ekraną ir jis yra fiksuotas. Taigi mūsų išvestis bus rodoma ekrane. Antrasis parametras rodo buferio duomenis. Prie jo galite pridėti bet ką. Paskutinis parametras rodo buferio parametre pateiktų duomenų skaičiaus skaičių. Kaip 5 skaičių paminėjome kaip skaičiaus skaičių, jis parodys tik pirmuosius 5 buferio duomenų baitus ir nepaisys likusių baitų. Išsaugokite šį kodą naudodami spartųjį klavišą „Ctrl + S“ ir išeikite iš šio failo naudodami komandą „Ctrl + X“.

# įtraukti
Vidutinis pagrindinis ()
Rašyti (1, „Aqsa Yasin“, 5);

Dabar terminale pabandykite žemiau esančią komandą gcc, kad sukompiluotumėte šį naujai sukurtą kodą su failo pavadinimu.

$ gcc naujas.c

Patikrinkime šį kodą naudodami numatytąjį a.iš failo, sukurto vykdymo metu. Taigi, pabandykite žemiau pateiktą a.out komandą, kad patikrintumėte „rašymo“ sistemos skambučio išvestį. Turime jį naudoti su „./ “, Jei norite pasirinkti failą iš dabartinio katalogo.

$ ./ a.išėjo

Matytoje išvestyje buvo rodomas tik žodis „Aqsa“ dėl skaičiaus 5 skaičiaus.

Šiek tiek pakeiskime savo kodą. Skaičiavimo skaičių pakeitėme į 11, nes buferio duomenyse „Aqsa Yasin“ iš viso turime 11 baitų. Taigi šį kartą išvestyje bus rodomi visi eilutės duomenų „Aqsa Yasin“ baitai. Išsaugokite šį failą naudodami „Ctrl + S“ ir uždarykite naudodami „Ctrl + X“ spartųjį klavišą.

Sudarykime atnaujintą kodą naudodami naujai įdiegtą „Linux“ platinimo gcc kompiliatorių. Pabandykite tą pačią komandą gcc kartu su failo pavadinimu kaip „naujas.c “.

$ gcc naujas.c

Dabar rodykite to paties kodo išvestį naudodami ankstesnį „a.out “komanda, kaip nurodyta toliau. Išvestyje rodoma visa buferio eilutė „Aqsa Yasin“.

$ ./ a.išėjo

Pažiūrėkime, kaip veikia kodas, kai imame skaičiaus skaičių, didesnį nei bendras baitų, esančių buferio duomenyse, skaičius. Taigi, skaičiavimą naudojome kaip 30. Išsaugokite ir uždarykite failą.

Sudarykite tą patį atnaujintą failą naudodami gcc komandą, kaip nurodyta toliau.

$ gcc naujas.c

Dabar vykdykite failą naudodami a.out komandą, o išvestyje bus rodomi buferio duomenys, taip pat šiokia tokia šiukšlių vertė, kaip parodyta žemiau esančioje momentinės nuotraukos išvestyje.$ ./ a.išėjo

Taip pat galite patikrinti bendrą į failą įrašytų baitų skaičių naudodami žemiau esantį kodą tame pačiame faile.

Sudarykite kodą gcc instrukcija.

$ gcc naujas.c

Išvestis rodo bendrą baitų skaičių, įskaitant buferio duomenis ir eilučių pertraukimą, naudojant a.out komandą.

$ ./ a.išėjo

Išvada:

Šioje pamokoje mes parengėme koncepcijos, kaip naudoti „Rašyti“ sistemos iškvietimą C,. Išbandykite visus pavyzdžius, kad suprastumėte „rašymo“ sistemos skambučio idėją naudodami šį straipsnį.

Įdiekite naujausią „Dolecin Emulator“, skirtą „Gamecube“ ir „Wii“, sistemoje „Linux“
„Delfinų emuliatorius“ leidžia žaisti pasirinktus „Gamecube“ ir „Wii“ žaidimus „Linux“ asmeniniuose kompiuteriuose (PC). „Dolphin Emulator“ yra laisv...
Kaip naudoti „GameConqueror Cheat Engine“ sistemoje „Linux“
Straipsnyje pateikiamas „GameConqueror“ apgaulės variklio naudojimo „Linux“ vadove. Daugelis žaidėjų, žaidžiančių sistemoje „Windows“, dažnai naudoja ...
Geriausi „Linux“ žaidimų konsolių emuliatoriai
Šiame straipsnyje bus išvardyta populiari žaidimų konsolių emuliavimo programinė įranga, skirta „Linux“. „Emuliacija“ yra programinės įrangos suderina...