Садржај
- Буилд тиме
- Рунтиме
- Разлика
- Грешке током компајлирања
- Катастрофалне грешке током извођења
- Логичке грешке током извршавања
Како функционише рачунарски програм, мистерија је типичног корисника који верује раду програмера. Програмер мора да разуме како рачунар очекује да добије наредбе у два корака извршавања (време компајлирања и време извршавања), поред осталих концепата.
Буилд тиме
Прва фаза извршавања програма, време компајлирања, укључује превод језика разумљивог људима или „изворног кода“ на језик који рачунар разуме или „машински код“. Изворни код садржи речи које препознајете, бројеве у децималном формату и организоване структуре које олакшавају разумевање тока упутстава. Корак времена компајлирања је завршен када је нови програм извршна датотека.
Рунтиме
Рачунар користи упутства произведена током компајлирања за покретање програма. Током извођења, рачунар чита превод изворног кода да би извршио задатке уграђене у програмер. Сваки пут кад неко покрене програм, он то ради у време извођења.
Разлика
Време компајлирања прелази се само једном да би се изворни код превео у извршну датотеку која се може позвати онолико пута колико је потребно без поновног компајлирања, осим ако програму нису потребне промене. Већина корисника користи само време извршавања.
Грешке током компајлирања
Грешке се могу појавити током обе фазе извршавања програма. У изворном коду постоје грешке током компајлирања или синтаксне грешке. Примери за то су погрешно написане команде, проблеми у редоследу операција, некомпатибилне комбинације врста променљивих и пропусти неопходних елемената. Програмер може лако открити грешке током компајлирања, јер су оне синтаксичке, а не логичке. Компајлер обично проналази грешку током компајлирања и објашњава или даје савете за њено решавање. Ако компајлер изводи извршну датотеку из кода, програм нема грешака током компајлирања.
Катастрофалне грешке током извођења
Грешке при извршавању могу проузроковати пад програма и његово прекидање. Примери таквих грешака су приступ ограниченој меморији и дељење са нулом. Израз „к / и“ је синтаксички тачан, али ако „и“ садржи вредност 0 током извођења, програм неће успети. Програмеру ће бити тешко да пронађе грешке током извођења због чињенице да се оне обично дешавају под одређеним условима.
Логичке грешке током извршавања
Логична грешка не доводи до неуспеха програма, али чини да ради на начин који програмер не жели. Размотрите програм са менијем опција који очекује да корисник унесе жељени број опције. Ако корисник упише слово, програм, чекајући број, може га трансформисати у нумеричку вредност и послати корисника на једну од опција, изгледа као да ништа није у реду уместо да обавести да је корисник откуцао неважећу опцију.