poniedziałek, 4 lutego 2013

Programowanie w Ubuntu (1)


   Lekcja 1


   Witaj Ubuntu!








    Zaczynamy naszą pierwszą lekcję. Rozpocząć naukę programowania wyświetleniem "Hello World" stało się już tradycją. Zrobimy podobnie.
   Utworzymy plik main.c  tam gdzie nam wygodnie, na przykład na Pulpicie. Otwórz plik w edytorze tekstowym. Wpiszemy następujący kod (radzę nie kopiować, ale pisać ręcznie, aby lepiej zapamiętać):



    Teraz spójrzmy na każdy wiersz indywidualnie. 
   W pierwszej linii jest komentarz w nawiasach /* */. Kompilator ignoruje komentarz. Komentarze są stosowane, aby nie zapomnieć, jaką funkcję program ma wykonać. To samo stosuje się w przypadku, gdy w pracach projektowych uczestniczą i inne osoby, oprócz Ciebie. Kompilator to program, jaki tłumaczy czytelny kod źródłowy, na kod zrozumiały dla maszyny (komputera). Proces tłumaczenia jest nazywany kompilacją.
   Druga linia jest  to dyrektywa preprocesora, jaka dołącza bibliotekę <stdio.h> zawierającą funkcje puts, return, printf i inne. W czasie kompilacji, kompilator wstawi tutaj tekst z biblioteki <stdio.h>.
   W czwartym wierszu mamy int main () - jest to blok główny (ciało) programu, od jakiego zaczynają się wszystkie programy C. Program nie może mieć więcej niż jedną funkcję main.
   W wierszach 5 i 6 są puts i return - są to polecenia opisane w <stdio.h>. Puts wstawia się dla wyprowadzenia informacji do strumienia stdout (stdout -  domyślnie wyprowadzany jest na ekran, to znaczy informacja jest wyświetlana na monitorze). Return kończy wykonywanie programu i zwraca wartość zero do środowiska wykonawczego. Korzystanie z instrukcji return jest wymagane, w przeciwnym razie program "zawiesza się" w pamięci komputera.
   Teraz skompilujmy nasz program. Aby to zrobić, trzeba zapisać zmiany; można już zamknąć gedit. Teraz otwórz terminal (na przykład: Ctrl + Alt + T) i uruchom kompilację poleceniem:

gcc -o [nazwa tworzonego pliku] '[ścieżka dostępu do kompilowanego pliku]'
     Teraz możesz uruchomić program poleceniem:

./[nazwa utworzonego pliku]
     W naszym przykładzie wygląda to tak:


   Jeśli otrzymałeś podobny wynik to napisałeś, skompilowałeś i wykonałeś swój pierwszy program. Gratulacje!
   Teraz zamień polecenie puts na printf (można stworzyć nowy plik main2.c):


     Zapisz, skompiluj i uruchom. Wynik będzie podobny. Ale te dwa polecenia są różne, a w czym, to dowiemy się w przyszłości.
   Teraz przeprowadzimy eksperyment: usuń ze źródła (pliku z kodem programu, w naszym przypadku z main.c i main2.c) dyrektywę preprocesora (#include <stdio.h>) i skompiluj oba programy. W pierwszym przypadku, wynik nie zmienia się, a w drugim jest komunikat o błędzie:


   Więc dlaczego potrzebujemy pliku <stdio.h>? Plik ten zawiera opisy i definicje dotyczące właściwego stosowania standardowych funkcji bibliotecznych, które są potrzebne do wejścia i wyjścia.
   Ale przecież program kompiluje się i działa jak należy. W celu udowodnienia, że jednak niezbędne jest dołączenie biblioteki, weźmiemy pod uwagę następujące dwa przykłady (z podłączeniem biblioteki i bez):

   I drugi wariant:


   W pierwszym przypadku na ekranie pojawił się tylko tekst z pierwszego cudzysłowu. Drugi cytat nie może być wyświetlony. Ale kompilator, nie powiadomił, że jest błąd.
   W drugim przypadku, proces kompilowania został przerwany na skutek błędu w kodzie:


   Więc nie zapomnij dołączyć biblioteki. A co do instrukcji printf, to bez biblioteki nie może zostać skompilowana.
   Na dziś myślę, że wystarczy. Powodzenia!

Tłumaczył: Leon Miklosik

Brak komentarzy:

Prześlij komentarz