Ajonaikainen kirjasto (myös runtime library ; englantilainen runtime library, RTL ) on tietyn ohjelmointijärjestelmän kirjastojen ( moduulien ) joukko, joka tulee kääntäjän , käyttöjärjestelmän tai ohjelmankehitysympäristön mukana. Kuten nimestä voi päätellä, RTL tukee ohjelmointijärjestelmän tarjoamia toimintoja ohjelman suorittamisen aikana alusta loppuun.
Nykyaikainen RTL sisältää myös oman ajonaikaisen ympäristönsä , jossa ohjelmat suoritetaan, eräänlaisen " virtuaalikoneen ", jossa ohjelma suoritetaan. Tällainen järjestelmä tarjoaa turvallisuuden - kaikki, mihin ohjelmalla on pääsy, on määritetty RTL-suojauskäytäntöjen ja siirrettävyyden avulla - ohjelmat kirjoitetaan RTL: n alla, ei käyttöjärjestelmässä , eikä varsinkaan tietylle prosessorille , ja RTL:n siirtäminen eri alustoille on kehittäjien huolenaihe. RTL:n alla suoritetut ohjelmat eivät kuitenkaan usein osoita korkeita suorituskykyindikaattoreita.
Kun ohjelman lähdekoodi käännetään halutun kääntäjän sopivalle kielelle, tämä johtaa äärimmäiseen ohjelmakoodin koon kasvuun, jos jokainen ohjelman käsky ja jokainen sisäänrakennetun funktion kutsu johtaa koko ohjelman täydellinen käännös uudelleen. Sen sijaan kääntäjä käyttää kielikohtaisia aputoimintoja, jotka eivät yleensä ole ohjelmoijien käytettävissä ja jotka toimivat ajonaikaisissa kirjastoissa. Kääntäjän valmistajasta riippuen ajonaikainen kirjasto sisältää joskus myös vastaavan kääntäjän standardikirjastot.
Hallitulla ohjelmointikielellä kirjoitettu ohjelma käännetään ensin erityiseksi tavukoodiksi ja suoritetaan sitten RTL:ssä.
Monilla käyttöjärjestelmillä on omat RTL:t.
Joitakin ajonaikaisten kirjastojen toiminnallisia tyyppejä:
Nykyaikaiset RTL:t voivat yhdistää näitä tyyppejä, esimerkiksi JRE :ssä ja Apache Harmonyssa - RTL:ssä Java -kielellä kirjoitettujen ohjelmien suorittamiseen - on kaikki edellä mainitut ominaisuudet.