Օբյեկտային կոդ

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

Օբյեկտային կոդը (անգլ.՝ object code) կամ երբեմն օբեյեկտային մոդուլը (անգլ.՝ object module) հանդիսանում է կոմպիլյատորի արդյունք[1]։ Ընդհանուր առմամբ լեզվում օբյեկտային կոդը հրամանների հաջորդականություն է[2], սովորաբար այն մեքենայական լեզու է (օր.՝ բինար կոդ) կամ միջանկյալ լեզու, ինչպիսին է RTL -ը։

Օբյեկտային կոդը կարող է իր հերթին կապվել( անգլ.՝ linked) կատարվող ֆայլին կամ գրադարանային ֆայլին։ Օգտագործելու համար այն պետք է տեղադրվի կատարվող ֆայլի ( անգլ.՝ executable file), գրադարանային ֆայլի (անգլ.՝ library file) կամ օբյեկտային ֆայլի (անգլ.՝ object file) մեջ։

Օբյեկտային կոդը մեքենայական կոդի մի մասն է, որը դեռ չի կապվել ծրագրին։ Այն կոնկրետ գրադարանի կամ մոդուլի մեքենայական կոդ է, որը պատրաստում է վերջնական ծրագիր։ Այն կարող է նաև պարունակել ծրագրի մեքենայական կոդում չգտված լրացումներ (անգլ.՝ placeholders) կամ օֆսեթներ(անգլ.՝ offsets), որը լինկերը պետք է օգտագործի բոլորը իրար կապելու համար։ Քանի որ մեքենայական կոդը բինար կոդ է, այն կարող է կատարվել անմիջապես պրոցեսսորի(CPU) կողմից, օբյեկտային կոդը ունի մասամբ պարամետրավորված ցատկեր (partially parameterized jumps), այնպես որ լինկերը կարող է դրանք լրացնել։

Ասեմբլերն օգտագործվում է ասեմբլեր կոդը մեքենայական կոդի փոխակերպելու (օբյեկտային կոդի)։ Լինկերը կապում է մի քանի օբյեկտային և գրադարանային ֆայլեր, կատարվող ֆայլը գեներացնելու համար։

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

  1. «Compiler». TechTarget. Վերցված է 2011 թ․ սեպտեմբերի 1-ին. «Traditionally, the output of the compilation has been called object code or sometimes an object module.»
  2. Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D. (1986). «10 Code Optimization». Compilers: principles, techniques, and tools. Computer Science. Mark S. Dalton. էջ 704. ISBN 0-201-10194-7.

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