Cunoștințe, prelegere, aspect, preprocesor

Rezumat: Până acum am considerat mici exemple de programe sau chiar fragmente de programe. Dar limbajul de programare modern ar trebui să sprijine producția de produse software de mari dimensiuni, care constă în multe zeci, sute sau chiar mii de clase. Un program C ++ poate fi creat de o echipă de programatori de mai mulți ani. Acum ne vom uita la proprietățile limbii, permițându-vă să scrieți programe mari.







Amenajarea mai multor fișiere într-un singur program

Programul este, în primul rând, textul în limba C ++. Cu ajutorul compilatorului, textul este convertit într-un fișier executabil - un formular care permite computerului să execute programul.

Dacă ne uităm la acest proces într-un mod mai detaliat, se pare că procesarea fișierelor sursă are loc în trei etape. În primul rând, fișierul este procesat de un preprocesor, care execută #include directive. #define și alte câteva. După aceasta, programul este încă prezentat ca fișier text. deși modificată în comparație cu versiunea originală. Apoi, în a doua etapă, compilatorul creează un așa-numit fișier obiect. Programul a fost deja tradus în instrucțiunile mașinii, dar nu este încă pe deplin pregătit pentru execuție. În fișierul obiect există referințe la diferite funcții ale sistemului și la funcțiile standard ale limbajului C ++. De exemplu, executarea noii operațiuni implică apelarea unei funcții specifice a sistemului. Chiar dacă programul nu menționează în mod explicit nicio funcție. Cel puțin un apel la funcția de sistem este necesar - programul este terminat și toate resursele care îi aparțin sunt eliberate.







În a treia etapă a compilației, fișierul obiect este conectat la toate funcțiile la care se referă. Funcțiile trebuie de asemenea compilate, adică tradus în limbajul mașinii sub formă de fișiere obiect. Acest proces se numește un aspect. și doar rezultatul său este executabil.

Funcțiile sistemului și funcțiile standard ale limbajului C ++ sunt precompilate și stocate sub formă de biblioteci. O bibliotecă este o arhivă a modulelor de obiecte, cu care este convenabil să se construiască un program.

Scopul principal al compilării în mai multe etape a programelor este abilitatea de a construi un program din mai multe fișiere. Fiecare fișier este o piesă completă a programului care poate referi la funcții, variabile sau clase definite în alte fișiere. Aspectul combină fragmentele într-un singur program "autonom" care conține tot ce trebuie să faceți.

Problema utilizării funcțiilor și denumirilor comune

În C ++, există o regulă strictă, conform căreia înainte de a utiliza un nume sau un identificator în program. trebuie să fie determinată. Să luăm în considerare funcția de început. Pentru ca numele funcției să devină cunoscut programului, acesta trebuie declarat sau determinat.

O definiție a funcției este o definiție a modului în care o funcție este executată. Acesta include corpul funcției, programul de execuție.

Linker-ul va îmbina ambele fișiere într-un singur program.

Definiția unei clase este definiția tuturor metodelor sale.

Programul va funcționa, dar scrierea nu este foarte convenabilă.







Articole similare

Trimiteți-le prietenilor: