border=0

Технология »компиляциясы

Компиляцияның анықтамасы


Бізде ортақ тіліміз жоқ біреуді қалай түсінуге болады? Аудармашы арқылы. Бұл аударма атқарушы кодпен бағдарламашы арқылы жазылған бастапқы кодты түрлендіру үшін компилятор арқылы орындалады.


Компиляция жоғары деңгейлі тілде жазылған бағдарлама тікелей компьютерлік архитектура арқылы тікелей қолданылатын машиналық кодқа аударылатын процесс болып табылады.

Сондықтан, біз ұсынған түсініктеме бойынша, бұл жүйе архитектураның таңдауын талап етеді, әр жағдайда әртүрлі болуы мүмкін және біз әр түрлі архитектуралар үшін бөлек жинақтауға міндеттейтін міндеттеме алады. Біз бағдарламамызды іске қосқымыз келеді.


Мысалы, x86 32-биттік архитектура, x86 64-бит, PowerPC немесе ARM үшін нақты бағдарламаны алға қосуға болады, ол біз оны іске қосқысы келетін құрылғы түріне байланысты 32 және 64 биттерді бөліп көрсетеді.


Сонымен қатар, біз әр түрлі операциялық жүйелерді ескеруіміз керек, бірақ біз бірдей аппараттық платформа үшін жұмыс істейміз, өйткені әрқайсысында физикалық машинамен өзара әрекеттесудің басқа жолы бар

Мысал ретінде x86 64-биттік платформасын алыңыз. Windows , GNU / Linux немесе macOS, немесе олардың әрқайсысы үшін компиляция жасауды қалаймыз, бұл үш жеке компиляция процесін білдіреді.

Кейде бұл бізге бастапқы кодты сәл бұрып түсіруге мәжбүрлейді, көбінесе олар мақсатты платформаның ерекшеліктері мен айырмашылықтарымен дұрыс өзара әрекеттесу үшін үш бөлек нұсқаны (немесе одан да көп жағдайда) сақтайды.

Компиляция процесі бастапқы кодтағы синтаксистік қателерді анықтау, содан кейін бағдарлама қажет ресурстарды білу үшін алдын-ала өңдеу және, сайып келгенде, оны орындау үшін қажетті кітапханалармен және ресурстармен байланыстыру сияқты бірқатар қадамдардан тұрады.

Осылайша, орындалатын файлды жасау үшін барлық қажетті ресурстар бар және ортақ код кітапханалары ( ортақ ) сияқты сыртқы ресурстарға кіруге қажетті нұсқаулар бар.

Компиляция процесі нақты құралдармен немесе компиляторлармен (компилятормен) жүзеге асырылады, бірақ оны әзірлеу орталарына (IDE) біріктіру әдеттегі болып табылады, осылайша оны пайдалануды жеңілдетеді.

Әрбір бағдарламалау тілінің өз компиляторы бар, бірақ біраз уақыт бойы тілге және қоршаған ортаға сәйкес келетін компилятор түрлі бірнеше бағдарламалық платформалар үшін орындалатын файлдарды жасай алды.

Құрастыру үрдісіне баламалы нұсқалар бар ма? Иә, олар түсіндірілген тілдер.

Түсіндірілген тілдер орындалу уақытында аударылған және жинақталмаған болып табылады.

Сондықтан олардың бастапқы коды әрдайым қол жетімді және олар қажет болғанда, олар орындалатын амалдық жүйеде аудармашы бар.

Компиляция процесін болдырмау арқылы, аудармашы бірнеше платформа үшін қол жетімді болса, бағдарламаны тікелей әрқайсысында, әдетте, өзгеріссіз орындауға болады.

Басқа баламалы тәсіл , құрастырылған және түсіндірілген тілдердің ортасында, виртуалды машинаны іске қосуды талап етеді, мысалы, Java.

Виртуалдандыру қабатында (виртуалды машинада) жұмыс істейтін бағдарламалау тілдері аралық процесті компиляцияға ұқсас етіп талап етеді, бірақ түсіндірілмеген тілмен орындалатынына қарағанда, оңтайландырылмаған болса да, орындалмаған кодты тікелей шығарады.

Мұндай жағдайларда бізде ұқсас процесс процедурасын жасау керек, бірақ бұл әртүрлі нәтиже береді және кез-келген жағдайда біздің бағдарламаны іске қосқысы келетін амалдық жүйеде жұмыс уақытын орнатуды қажет етеді. .

Суреттер: Fotolia - Александр Покусай / Onot

Автор: Guillem Alsina González + QUOTE
Компиляциядағы тақырыптар

Әлеуметтік желілер