(LINUX)Podstawy Programowania w C++

Cześć!


Zwykle ludzie gdy zakładają bloga, piszą kim są. Więc pora i na mnie. Jestem Szymon. Zapraszam Cię w krainę programowania.

Od czego dzisiaj zaczniemy ?

Od podstaw. Zaczniemy jak wiele poradników od C++. To co będzie odróżniało, to chęć prostego wyjaśnienia jak to działa, oraz dlaczego to działa.


Na początku kilka kwestii niezwiązanych z programowaniem, ale na pewno dla Ciebie przydatnych. 
Mamy Linuksa. Zanim zasiądziemy do klawiatury, jestem zobowiązany wspomnieć o tym co właściwie będziemy robili. Komputer składa się z części fizycznych. Jest nimi płyta główna, procesor oraz np. pamięć RAM. To co Nas interesuje to procesor. Dlaczego akurat on ? Wykonuje on obliczenia, przetwarza informacje, oraz to co dla Nas jest ważne wykonuje instrukcje. Dlaczego właśnie instrukcje ? Procesor jest elementem elektrycznym, który przetwarza informacje w systemie binarnym, składającym się z zer i jedynek. Czyli prąd płynie, lub nie. I to właśnie procesor zajmuje się przetwarzaniem tych instrukcji na postać zrozumiałą dla człowieka. Językiem bezpośrednio powiązanym z systemem binarnym jest język Assembly. Jest on językiem, który odnosi się do warstw stojących tylko nieco wyżej niż wspomniane zera oraz jedynki. Odnosi się do rejestrów procesora, oraz stosów. Są to nazwy które mogą brzmieć trudno. Nie jest to kurs Assembly, a C++.
Dlatego,

to co dla Nas jest istotne, to zrozumienie że to co za niedługo będziemy pisali w języku C++ zostanie przetworzone przez tzw. kompilator na Assembly. Czym jest kompilator ? Tłumaczem. Co tłumaczy ? To co napiszemy na postać zrozumiałą dla komputera. To co jest oczywiste dla Nas, dla komputera jest niezrozumiałe. Przytoczę klasyczny już dowcip:

Żona programisty wysyła go po zakupy.
- Kup parówki, a jak będą jajka, to kup dziesięć.
I wrócił z dziesięcioma parówkami.

Warto również wspomnieć, że proces kompilacji nie składa się tylko z przetłumaczenia Naszych instrukcji na język Assembly(nazywany bardzo często Assemblerem, który jest jego najpopularniejszą odmianą). Składa się również z łączenia definicji preprocesora(Będzie o tym jeszcze mowa), oraz linkowania. Linkowanie przetwarza pliki powstałe z wcześniejszych faz na postać zdolną do wykonania przez system(W systemie Windows .exe, na Linuksie nie jest to zestandaryzowane i praktycznie każdy plik może być wykonywalny, choć niektóre programy wykonywalne na Linuksie w konsoli mają końcówkę .sh).

Znamy już teorię wymaganą do zrozumienia tego co będziemy za chwilę wykonywali. Wiem, że to trudne. Więc jeśli zrozumiałeś. Moje gratulacje. W programowaniu teoria jest równie ważna, co praktyka. Dlatego właśnie, przejdźmy do kolejnej części.

Stworzenie prostego programu w konsoli

Otwórzmy konsolę(domyślnie ctrl+shift+f2). Wpisujemy następujące polecenie:
gedit naszPierwszyProjekt.cpp
Co to oznacza ?
gedit- nazwa programu tekstowego. Od graphic(g) editor(edit).
naszPierwszyProjekt.cpp - Oznacza nazwę Naszego projektu. Dopisek cpp informuje kompilator, oraz edytor, że będziemy używali języka c++, czyli cpp, lub c plus plus.

Powinno otworzyć Ci się białe okno. Pokaże przykładowy program. Nie przejmuj się, jeśli nic nie zrozumiesz.

#include <iostream>

int main()
{

std::cout<<"Witaj Świecie!"<<'\n';

}

Możesz śmiało kopiować, zapisać(ctrl+s), po czym zamknąć okno edytora. Wszystko wyjaśni się za chwilę. Wrócimy tu za chwilę. Teraz powracamy do konsoli. i wpisujemy:
g++ naszPierwszyProjekt.cpp -o naszPierwszyProjekt

Co właśnie zrobiliśmy ?
Skompilowaliśmy Nasz program! Możemy być z siebie dumni. Co oznaczają poszczególne słowa ?
g++ - nazwa Naszego kompilatora
naszPierwszyProjekt.cpp - nazwa Naszego projektu
-o - pozwala nadać wybraną przez Nas nazwę plikowi wykonywalnemu(inną niż standardowe a.out)
naszPierwszyProjekt - nazwa Naszego pliku wykonywalnego

Co z tym dalej możemy zrobić ?
Uruchomić. W tym przypadku ./naszPierwszyProjekt (./ oznacza uruchomienie w bieżącej lokalizacji)
Cieszmy się widokiem działającego programu. To jak on działa, oraz co sobą reprezentuje, pokażę w następnym tekście.

Komentarze

  1. Ten komentarz został usunięty przez autora.

    OdpowiedzUsuń
  2. BetMGM: How to Download and Play Slot Games for Android
    As a result, you can download and play 수원 출장안마 a range of free casino games like 공주 출장안마 slots, blackjack, bingo, 경상북도 출장안마 bingo, poker, roulette, and live 안양 출장안마 casino games for Android 여수 출장샵 and iOS.

    OdpowiedzUsuń

Prześlij komentarz

Popularne posty z tego bloga

Co dokładnie oznacza std::cout<<"Witaj Swiecie!"<<'\n''; w C++ ?

Klasy, Przestrzenie nazw, Nonlocal, Global i Local. Czy Python ma zmienne prywatne ?

Przeciążanie operatorów w C++