Run-time գրադարան

Վիքիպեդիայից՝ ազատ հանրագիտարանից
Jump to navigation Jump to search

Run-time գրադարան (անգլ.՝ runtime library), ցածր մակարդակի պրոցեդուրաների հավաք ծրագրավորման մեջ։ Կոմպիլյատորը, կանչ կատարելով runtime գրադարան, նրանցից մի քանիսը ներառում է runtime միջավայր ( runtime environment )` կոմպիլացված կատարվող բինար ֆայլի( executable binary) մեջ։ Runtime միջավայրը իրականացնում է կատարվող մոդելը, ներդրված ֆունկցիաները և ծրագրավորման լեզվի այլ հիմնարար վարքագծեր։ Ծրագրի կատարման ժամանակ Run-time գրադարանին կատարվող կանչերը կապ են ստեղծում կատարվող բինար ֆայլի ( executable binary) և Run-time միաջավայրի միջև։ Run-time գրադարանը հաճախ ներառում է ներդրված ֆունկցիաներ` հիշողության կառավարման կամ բացառությունների մշակման( exceptions handling) համար[1]։ Run-time գրադարանը հատկանշական է կոմպիլյատորի և պլատֆորմի համար։

Run-time գրադարանը կարող է իրականացնել հատված Run-time միջավայրից, բայց եթե մեկը կարդում է հասանելի կանչերը, որոնք, որպես դրանք կանոն բարակ թաղանթներ են, ուղղակի փաթեթավորում և ուղարկում են այն Run-time միջավայր կամ օպերացիոն համակարգ։ Սովորաբար Run-time գրադարան տերմինը ներառում է հենց Run-time միջավայրի կոդը. դրանցից շատերը չեն կարող ուղակիորեն հասնել Run-time կանչերի միջոցով։

Օրինակ որոշ լեզուների հատկություններ, որոնք կարող են ներկայացվել միայն ծրագրի կատարման ժամանակ, իրականացված են Run-time միաջավայրում և կարող են կանչվել Run-time գրադարան API-ի միջոցով (օր.`որոշ տրամաբանական սխալներ, զանգվածի չափերի ստուգում, դինամիկ տիպերի ստուգում, բացառությունների հայտնաբերում)։ Այս պատճառով, որոշ ծրագրային բագերը չեն հայտնաբերվում մինչև ծրագրի թեստավորումը ռեալ միջավայրում, իրական տվյալներով, չնայած բազմաթիվ ստուգումների ստեղծման ժամանակ։

Այլ օրինակ` runtime գրադարանը կարող է պարունակել ցածր մակարդակի ներդրված կոդ, դժվարացնելով կոմպիլյացիայի ժամանակ դրանց տողայացնելը (inlining), ինչպես օրինակ մաթեմատիկական գործողությունների իրականացումը, որը չի աջակցվում պրոցեսորի կողմից կամ տարբեր խառը կոմպիլյատորների և դիրեկտիվների կողմից[1][2]։

Չպետք է շփոթել runtime գրադարանը ոչ սովորական ծրագրերի գրադարանի հետ, որը ստեղծվում է ծրագրավորողի կողմից, ոչ էլ դինամիկական գրադարանի հետ։ Օրինակ C ծրագրավորման լեզուն պահանջում է մինիմալ runtime գրադարան, բայց սահմանում է լայն ստանդարտ գրադարան (C standard library), որը պետք է լինի յուրաքանչյուր իրականացման պայմանով[3]։

Ծանոթագրություններ[խմբագրել | խմբագրել կոդը]

  1. 1,0 1,1 «The GCC low-level runtime library»։ GCC Introduction։ gnu.org։ Վերցված է 2013-12-30 
  2. «Other Built-in Functions Provided by GCC»։ GCC Introduction։ gnu.org։ Վերցված է 2013-12-30 
  3. «The C Runtime Initialization, crt0.o»։ embecosm.com։ 2010։ Վերցված է 2013-12-30 

Արտաքին հղումներ[խմբագրել | խմբագրել կոդը]