Esimerkki komentojonotiedoston eli skriptin käyttökohteesta: Oman komennon "c17" luominen
Esimerkki komentojonotiedoston eli skriptin käyttökohteesta: Oman komennon "c17" luominen
You can use this code to embed this media to other pages. This embed has fixed size and should work well on most use cases.
This page also supports oEmbed.
You can use this code to embed this media to other pages. This embed has responsive size and is intended to be used on responsive web sites.
This page also supports oEmbed.
*** Aihepiiri: Oman komennon 'c17' luominen komentojonotiedostona
(Korvaa aiemman, vuonna 2023 nauhoitetun aihepiirivideon, jossa tehtiin
sama komennolle c11. Standardi hyppäsikin tällä välin kaksi
kieliversiota eteenpäin.)
Taustoja:
- Tiedetään, että nykyinen POSIX standardin
ohjelmointiympäristölaajennos määrittää komennon c17, jonka
tulisi käynnistää C17-speksin mukainen C-kääntäjä.
- Tänä päivänä yliopistollamme käytössä olevat palvelimet ovat vielä
vanhan standardin mukaisia.
- Mutta ne kyllä aikanaan päivittyvät uudemmiksi ja alkavat toteuttaa
nykyistä standardia.
- Otetaan itse jo yksi askel tulevaisuutta kohti niin, että voidaan
käyttää komentoa c17, vaikka nykyinen palvelin ei sitä vielä tarjoa.
Askeleet:
- Tutkitaan, mitä komento c99 tarkkaan ottaen tekee meidän järjestelmässä.
- Opitaan ohimennen yksi käyttötarkoitus komentojonotiedostoille
- Opitaan ohimennen vähän kuoriohjelmoinnin syntaksia, tietovirtoja ja
käyttöjärjestelmäkutsuja
- Tutkitaan, mitä standardi tarkkaan ottaen määrittää ja mitä se ei
määritä komennon c17 toiminnasta.
- Mielen päälle hautumaan, missä kohtaa voi olla mielekästä kiinnittyä
standardin sijasta tietyn toimittajan teknologiaan. Esimerkiksi
gcc-kääntäjän optimoinnit ja varoitukset saadaan käyttöön
erilaisilla argumenteilla kuin jonkun muun kääntäjän. Standardi
määrittää kapean yhteisen polun, jolla pysyminen vaatii tarkkuutta.
Rajoja voi vetää tilanteen mukaan: Esimerkiksi lähdekoodi tai isot
osat siitä voivat olla standardin mukaisia, vaikka käännöskomennot
ja muu tehtäisiin erikseen eri alustoja tai kääntäjävalmistajia
varten. Lähdekoodin osien välille voi vetää rajoja, kunhan ratkaisut ovat
tietoisia, perusteltuja ja dokumentoituja - esimerkiksi
käyttöliittymä voi olla alustariippuva ja käyttöliittymästä
eriytetty toimintalogiikka yleisemmän standardin mukainen.
- Tarkkuus on hyve ohjelmistokehityksessä ja tieteessä, joiden
molempien oppiminen on alan yliopistokoulutuksen päämäärä.