Diferența dintre timpul de execuție și timpul de compilare

Autor: Mike Robinson
Data Creației: 14 Septembrie 2021
Data Actualizării: 1 Mai 2024
Anonim
Difference between Compile-time, Run-time and Logical errors in C (hands-on) | C Programming
Video: Difference between Compile-time, Run-time and Logical errors in C (hands-on) | C Programming

Conţinut

Cum funcționează un program de computer este un mister pentru utilizatorul tipic care are încredere în munca programatorilor. Programatorul trebuie să înțeleagă cum se așteaptă computerul să primească comenzi în cei doi pași de execuție (timpul de compilare și timpul de execuție), pe lângă alte concepte.

Construiește timp

Prima etapă a executării unui program, timpul de compilare, implică traducerea limbajului de înțeles de către oameni, sau „cod sursă”, într-un limbaj pe care computerul îl înțelege sau „cod mașină”. Codul sursă conține cuvinte pe care le recunoașteți, numere în format zecimal și structuri organizate care facilitează înțelegerea fluxului de instrucțiuni. Pasul timpului de compilare este finalizat atunci când noul program este un fișier executabil.


Runtime

Computerul folosește instrucțiunile produse la momentul compilării pentru a rula programul. În timpul rulării, computerul citește traducerea codului sursă pentru a efectua sarcinile încorporate de programator. De fiecare dată când cineva rulează programul, îl face în timpul rulării.

Diferență

Timpul de compilare este traversat o singură dată pentru a traduce codul sursă într-un fișier executabil, care poate fi apelat de câte ori este necesar fără a compila din nou, cu excepția cazului în care programul are nevoie de modificări. Majoritatea utilizatorilor folosesc numai timpul de rulare.


Erori în timpul compilării

Erorile pot apărea în timpul ambelor etape ale executării programului. În codul sursă există erori în timpul compilării sau erori de sintaxă. Exemple de acestea sunt comenzi scrise greșit, probleme în ordinea operațiilor, combinații incompatibile de tipuri de variabile și omisiuni ale elementelor necesare. Un programator poate detecta cu ușurință erorile în timpul compilării, deoarece acestea sunt mai degrabă sintactice decât logice. Compilatorul găsește de obicei o eroare în timpul compilării și explică sau oferă sfaturi pentru rezolvarea acesteia. Dacă compilatorul produce un fișier executabil din cod, programul nu are erori în timpul compilării.

Erori catastrofale în timpul rulării

Erorile de execuție pot provoca blocarea unui program și oprirea timpurie a acestuia. Exemple de astfel de erori sunt accesul limitat la memorie și împărțirea la zero. Instrucțiunea „x / y” este corectă din punct de vedere sintactic, dar dacă „y” conține o valoare 0 în timpul rulării, programul va eșua. Un programator poate avea dificultăți în găsirea erorilor de execuție din cauza faptului că acestea apar de obicei în anumite condiții.


Erori logice de rulare

O eroare logică nu provoacă eșecul programului, dar îl face să funcționeze într-un mod pe care programatorul nu îl dorește. Luați în considerare un program cu un meniu de opțiuni care așteaptă ca utilizatorul să introducă numărul opțiunii dorite. Dacă utilizatorul introduce o literă, programul, în așteptarea unui număr, îl poate transforma într-o valoare numerică și îl poate trimite către una dintre opțiuni, arătând că nimic nu este în neregulă în loc să informeze că utilizatorul a tastat o opțiune nevalidă.