Najlepsze pytania
Chronologia
Czat
Perspektywa
Podprogram główny
Z Wikipedii, wolnej encyklopedii
Remove ads
Podprogram główny – zdefiniowany w kodzie źródłowym, wybrany podprogram, od którego rozpocznie się wykonanie gotowego programu. Wyróżnienie więc podprogramu głównego spośród innych bloków, ma na celu wskazanie programowi łączącemu tej ingresji, która ma być wejściową dla gotowej aplikacji. Różne języki programowania w zależności od swojej specyfiki posługują się różną nomenklaturą dla określenia tego pojęcia oraz we własny, specyficzny sposób definiują metodę wskazania podprogramu głównego. Można jednak wyróżnić kilka najczęściej spotykanych konstrukcji.
Remove ads
Sposoby specyfikacji podprogramu głównego
Można wyróżnić następujące, najczęściej spotykane sposoby specyfikacji podprogramu głównego:
- brak, dowolny podprogram może być wywołany jako podprogram główny – dotyczy zasadniczo języków interpretowanych, np. Forth[1], VBA[a][2],
- specjalna nazwa podprogramu, poza zastosowaniem specjalnej nazwy podprogram taki definiowany jest tak jak inne podprogramy[b], np. język C[3][4][5], C++[5] i pokrewne,
- specjalna, dodatkowa fraza, dyrektywa, zawarta w deklaracji podprogramu, podprogram taki definiowany jest tak jak inne podprogramy[b], np. PL/1[6],
- specjalne oznaczenie bloku głównego, inne niż pozostałych podprogramów, modułów, np. Pascal[7],
- dyrektywa kompilatora,
- inne.
Remove ads
Języki programowania
Podsumowanie
Perspektywa
C
W języku C podprogram główny definiuje się jako funkcję o nazwie (identyfikatorze) main
[3][4][5]. Ten sposób stosowany jest także w językach pokrewnych jak np. C++[5], C--, itp.
main()
{
}
Podprogram taki może przyjmować argumenty; będą to argumenty wywołania programu podane w linii poleceń konsoli:
int main(int argc, char *argv[])
{
}
Liczba całkowita argc
określa liczbę tych argumentów. Natomiast tablica argumentów argv
(od ang. argument vector) to wskaźnik do tablicy, w której poszczególnymi elementami są adresy stringów. Te stringi, to kolejne parametry wywołania programu. Bardziej formalnie – zapis char *argv[]
jest tablicą wskaźników do (ciągów) znaków[8][9]
C#
W języku C# stosuje się podprogram główny – podobnie jak w całej rodzinie języków wywodzącej się z języka C – oznaczony specjalnym identyfikatorem Main
. Jednak obiektowe ukierunkowanie tego języka sprawia, iż podprogram ten musi być metodą wybranej klasy[c][d]. Takie rozwiązanie stosowane jest także w innych językach zorientowanych obiektowo, takich jak Java.
public class Klasa {
public static void Main (string[] args)
{
}
}
Pascal
W języku Pascal kod źródłowy stanowiący program zawarty być musi w podprogramie głównym określonym blokiem program
[7]. Dotyczy to także innych podprogramów. Stanowią więc one podprogramy wewnętrzne, bowiem w tym języku dopuszczalne jest definiowanie takich podprogramów z wielokrotnym ich zagłębieniem. Dopiero w kolejnych implementacjach, np. Turbo Pascal wprowadzono inne bloki główne – moduły[10].
program Jakis;
begin
end.
PL/1
W języku PL/1 procedura, która ma stanowić podprogram główny, musi uwzględniać we frazie OPTIONS
słowo MAIN
. W ten sposób może zostać wyróżnionych kilka procedur. Wybierana jest wtedy pierwsza z nich[6].
Składnia[e]:
Main: PROC OPTIONS(MAIN);
END Main;
Remove ads
Zobacz też
Uwagi
- W języku VBA podprogramem głównym może być dowolna procedura (zadeklarowana jako
Sub
), publiczna (zadeklarowana z modyfikatoremPublic
), zawarta w module; nie może to być więc podprogram funkcyjny (zadeklarowany jakoFunction
), lub podprogram zawarty w innym module (np. module klasy) - Mogą być nałożone określone ograniczenia lub specyficzne wymogi dla podprogramu stanowiącego podprogram główny.
- wymagane jest aby była to metoda publiczna i statyczna; zadeklarowana z modyfikatorami:
public static
- Identyfikator Jakis został tu przyjęty arbitralnie – może zostać użyty dowolny, prawidłowy w danym języku, identyfikator.
- Identyfikator programu głównego w języku Pascal nie ma znaczenia, w późniejszych implementacjach, np. Turbo Pascal, może zostać pominięty cały nagłówek porogram
Remove ads
Przypisy
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads