Laboratorium 0: System Linux, edytor vim i kompilator gcc. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski



Podobne dokumenty
EDYTOR TEKSTOWY VIM WYBRANE POLECENIA. Pracownia Informatyczna 5

Programowanie w języku Python. Grażyna Koba

Zakład Systemów Rozproszonych

vi - Edytor tekstu. 1. To, co każdy powinien wiedzieć o vi!!!

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

Krótki kurs obsługi środowiska programistycznego Turbo Pascal z 12 Opracował Jan T. Biernat. Wstęp

tworzenie katalogów Aby utworzyć nowy katalog wpisz: mkdir katalog1 Ta komenda utworzy katalog o nazwie katalog1.

Chemiateoretyczna. Monika Musiał. Ćwiczenia

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Sieci i systemy operacyjne I Ćwiczenie 1. Podstawowe polecenia systemu Unix

Skrypty startowe. Tryb interaktywny tryb logowania: nie logowanie: Tryb nieinteraktywny

Klawisze funkcyjne w OpenOffice.org Writer

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Umożliwia ona pokazanie ukrytych plików i katalogów, nazwa ich zaczyna się od kropki.

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Podstawy używania konsoli tekstowej w systemie Linux. Andrzej Zbrzezny

Operatory d - kasuj (do bufora tymczasowego) c - zmień y - zapamiętaj (yank) > - przesuń w prawo < - przesuń w lewo. Informatyka MPDI2. np.

Podstawy Programowania.

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

UMOWY INSTRUKCJA STANOWISKOWA

Python jest interpreterem poleceń. Mamy dwie możliwości wydawania owych poleceń:

Automatyzowanie zadan przy uz yciu makr języka Visual Basic

Szkolenie dla nauczycieli SP10 w DG Operacje na plikach i folderach, obsługa edytora tekstu ABC. komputera dla nauczyciela. Materiały pomocnicze

Europejski Certyfikat Umiejętności Komputerowych. Moduł 3 Przetwarzanie tekstów

Skróty klawiaturowe w systemie Windows 10

Technologie Informacyjne - Linux 2

Podstawy Programowania

Utworzenie pliku. Dowiesz się:

Wstęp do systemu Linux

Dlaczego stosujemy edytory tekstu?

I. Program II. Opis głównych funkcji programu... 19

Edytor tekstu Microsoft Office 2007 przewodnik dla gimnazjalisty Autor: Dariusz Kwieciński nauczyciel ZPO w Sieciechowie

W pierwszej kolumnie wyświetlany jest identyfikator procesu (pid)

Fragment tekstu zakończony twardym enterem, traktowany przez edytor tekstu jako jedna nierozerwalna całość.

INFORMATYKA TEST DIAGNOZUJĄCY WIEDZĘ Z ZAKRESU GIMNAZJUM

EDYCJA TEKSTU MS WORDPAD

Podręcznik użytkownika programu. Ceremonia 3.1

2017 Electronics For Imaging, Inc. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1

Java EE produkcja oprogramowania

Skróty klawiaturowe w programie Microsoft Excel 2013

Zadanie 11. Przygotowanie publikacji do wydrukowania

PIERWSZE URUCHOMIENIE PROGRAMU ITNC PROGRAMMING STATION

UŻYTKOWNIK. APLIKACJE UŻYTKOWE (wszelkie programy zawarte domyślnie w systemie operacyjnym jak i samodzielnie zainstalowane przez użytkownika systemu)

Instrukcja obsługi. Generatora CSV

KATEGORIA OBSZAR WIEDZY

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Ćwiczenie 1: Pierwsze kroki

Laboratorium 3: Preprocesor i funkcje ze zmienną liczbą argumentów. mgr inż. Arkadiusz Chrobot

System Informatyczny CELAB. Terminy, alarmy

Zadanie 9. Projektowanie stron dokumentu

Klawiatura. Klawisze specjalne. Klawisze specjalne. klawisze funkcyjne. Klawisze. klawisze numeryczne. sterowania kursorem. klawisze alfanumeryczne

Klawisze szybkiego wyboru układu drabinkowego

MGA Sp. z o.o Toruń ul. Piaskowa 6

Linux cz.3: polecenia systemowe, ćwiczenia

Programowanie w języku C++ Grażyna Koba

Poradnik obsługi systemu zarządzania treścią (CMS) Concrete5. Moduły i bloki

asix5 Podręcznik użytkownika Notatnik - podręcznik użytkownika

Zadanie 8. Dołączanie obiektów

Podstawy informatyki

Dokumentacja programu. Zoz. Uzupełnianie kodów terytorialnych w danych osobowych związanych z deklaracjami POZ. Wersja

Instrukcja redaktora strony

Test z przedmiotu zajęcia komputerowe

Ćwiczenia nr 2. Edycja tekstu (Microsoft Word)

TABULATORY - DOKUMENTY BIUROWE

1. Przypisy, indeks i spisy.

Sylabus Moduł 2: Przetwarzanie tekstów

Trochę o plikach wsadowych (Windows)

Słowa kluczowe Sterowanie klawiaturą, klawiatura, klawisze funkcyjne, przesuwanie obiektów ekranowych, wydawanie poleceń za pomocą klawiatury

Rozdział II. Praca z systemem operacyjnym

Tematy lekcji informatyki klasa 4a styczeń 2013

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

host name: protokół SSH System plików - wprowadzenie Ścieżki dostępu

Wstęp do systemu Linux

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Architektura systemów informatycznych WPROWADZENIE DO SYSTEMU LINUX

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.3

Materiały wprowadzające. dr inż. Arkadiusz Chrobot

Tematy lekcji informatyki klasa 4a luty/marzec 2013

System plików. Podstawy systemu Linux

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Instrukcja obsługi systemu elektronicznego katalogu przedmiotów (sylabusów)

jest dostępne na różne systemy operacyjne. Niniejsza instrukcja opisuje podstawowe operacje i opcje niezbędne do rozpoczęcia pracy w tym programie.

ECDL/ICDL Przetwarzanie tekstów Moduł B3 Sylabus - wersja 6.0

Przedstawię teraz tzw. podstawowe symbole wyrażenia regularne (BRE, Basic Regular Expression)

Wstęp do programowania. Wykład 1

Dane słowa oraz wyrażenia są tłumaczone przy pomocy polecenia Przetwarzanie > Tłumaczenie

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Zgrywus dla Windows v 1.12

Notepad++ / PuTTY. Interaktywne środowisko programowania w języku ForthLogic. Wersja dokumentu P.1. Wersja dokumentu NP1.

Edytor tekstu OpenOffice Writer Podstawy

plansoft.org Zmiany w Plansoft.org Panel wyszukiwania PLANOWANIE ZAJĘĆ, REZERWOWANIE SAL I ZASOBÓW

Windows XP Wiersz polecenia

Transkrypt:

Laboratorium 0: System Linux, edytor vim i kompilator gcc dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 24 lutego 2015

1. Wprowadzenie W tej instrukcji został zawarty opis środowiska, które będzie podczas zajęć używane do tworzenia programów w języku c. W pierwszej części opisano kilka podstawowych poleceń powłoki Linuksa. Część druga zawiera krótką instrukcję obsługi edytora vim, a w części trzeciej przedstawiono sposób kompilacji oraz uruchomienia prostego programu napisanego w języku c. 2. Polecenia powłoki systemu Linux System Linux oferuje użytkownikom dwa rodzaje interpreterów poleceń: graficzne i tekstowe. Graficzne interpretery są obecnie chętniej używane ze względu na krótki czas potrzebny do nauki ich obsługi, jednakże tekstowe interpretery w niektórych zastosowaniach są bardziej elastyczne i pozwalają na bardziej efektywną pracę. W systemie Linux, który jest kompatybilny z systemem Unix, dostępnych jest wiele interpreterów tekstowych, które są nazywane powłokami (ang. shell). Sposób ich działania i składnia większości poleceń jest na ogół podobna. Najpopularniejszą powłoką jest powłoka bash. W tabeli 1 wymieniono polecenia, których opanowanie pozwala na obsługę systemu w zakresie wymaganym na laboratorium. Ich składnia jest w większości przypadków taka sama dla wszystkich powłok. Opcje poleceń, takie jak nazwy plików, są zapisane kursywą. Uwaga: w systemie Linux wielkość liter ma znaczenie. Polecenie cd nazwa pwd ls mkdir nazwa rmdir nazwa rm nazwa rm -r nazwa cat nazwa more nazwa less nazwa cp nazwa gdzie mv nazwa gdzie chmod prawa nazwa ps aux kill -9 pid pkill -9 nazwa man nazwa polecenia Opis Zmiana bieżącego katalogu na wskazany. W szczególności nazwa może być nazwą katalogu nadrzędnego, czyli dwiema kropkami (..). Wyświetlenie nazwy bieżącego katalogu. Wyświetlenie zawartości bieżącego katalogu. Utworzenie katalogu o podanej nazwie. Usunięcie katalogu o podanej nazwie, jeśli jest pusty. Usunięcie pliku o podanej nazwie. Usunięcie katalogu wraz z zawartością (rekurencyjnie). Wyświetlenie zawartości pliku tekstowego na ekran. Może też posłużyć, do połączenia kilku plików tekstowych w całość. Wyświetlenie pliku tekstowego z podziałem na strony. Wyświetlenie pliku tekstowego z podziałem na strony i możliwością nawigowania między stronami. Skopiowanie pliku o podanej nazwie do wskazanego katalogu. Przemieszczenie pliku do wskazanego katalogu lub zmiana jego nazwy. Zmiana praw dostępu do pliku. Wyświetlenie listy uruchomionych procesów wraz z informacją o ich stanie i identyfikatorze. Przerwanie działania procesu o podanym pid (identyfikatorze). Przerwanie działania procesów, których o podanej nazwie (lub takich, których nazwa zawiera nazwę zawartą w poleceniu). Wyświetla strony systemowego podręcznika. Tabela 1: Polecenia powłoki Więcej informacji o poszczególnych poleceniach a nawet o funkcjach (podprogramach) języka c można uzyskać za pomocą ostatniego polecenia wymienionego w tabeli. W szczególności polecenie man man wyświetli stronę podręcznika o poleceniu man. Wyjść z programu podręcznika należy przez naciśnięcie klawisza q. Z interpretera tekstowego możemy korzystać również w trybie graficznym, wystarczy uruchomić program nazywany terminalem (skrót znajduje się w menu Programy lub na pasku w postaci ikonki z czarnym ekranem). 1

3. Edytor VIM Edytor vim jest klonem edytora vi, jednego z pierwszych pełnoekranowych edytorów tekstu jakie pojawiły się dla systemu Unix. Mimo, że początkowo jego obsługa może wydawać się bardzo skomplikowana, to ten edytor jest bardzo ceniony w środowisku programistów, ze względu na liczne ułatwienia i dodatki. Jego obsługa nie wymaga używania myszy, choć nie jest to także zabronione. Vim działa zarówno w środowisku tekstowym jak i graficznym. Dostępny jest dla wielu systemów operacyjnych. Dla systemu Windows dostępna jest wersja o nazwie gvim. Edycję nowego lub już istniejącego pliku z kodem w języku c można rozpocząć wydając w powłoce polecenie vim nazwa.c lub vi nazwa.c. Praca z edytorem vim odbywa się w kilku trybach. W tej instrukcji zostaną opisane dwa podstawowe oraz dwa dodatkowe tryby, które w pełni wystarczają do posługiwania się tym edytorem. 3.1. Tryb poleceń Jest to domyślny tryb pracy edytora vim, dostępny zaraz po jego uruchomieniu. W tym trybie dostępne są dwa rodzaje poleceń. Pierwsze uruchamiane są za pomocą odpowiednich kombinacji klawiszy, drugie dostępne są za pomocą linii poleceń edytora. Poniżej opisano najważniejsze z nich. Kombinacje klawiszy: h przemieszczenie kursora w lewo, przydatne, jeśli klawiatura nie dysponuje klawiszami kursora; l przemieszczenie kursora w prawo, przydatne, jeśli klawiatura nie dysponuje klawiszami kursora; j przemieszczenie kursora w dół, przydatne, jeśli klawiatura nie dysponuje klawiszami kursora; k przemieszczenie kursora w górę, przydatne, jeśli klawiatura nie dysponuje klawiszami kursora; u cofnięcie ostatniej operacji (ang. undo); ^ ustawienie kursora na pierwszym znaku w wierszu; $ ustawienie kursora na ostatnim znaku w wierszu; * odnalezienie i zaznaczenie wszystkich wystąpień w tekście wyrażenia, które znajduje się pod kursorem;. powtórzenie ostatniego polecenia, przydaje się szczególnie przy złożonych poleceniach; yy zapamiętanie jednego wiersza tekstu (ang. copy), jeśli chcemy zapamiętać więcej wierszy wtedy wybieramy kombinację yny lub nyy, gdzie n jest liczbą wierszy; dd usunięcie pojedynczego wiersza tekstu, jeśli chcemy usunąć więcej wierszy postępujemy tak jak przy poleceniu yy; p wklejenie (ang. paste) zapamiętanych lub usuniętych wierszy w miejsce, gdzie znajduje się kursor, jeśli chcemy tę operację wykonać kilka razy to przed wydaniem polecenia piszemy liczbę jego powtórzeń; x usunięcie znaku znajdującego się pod kursorem, możemy tę operację powtórzyć tak jak operację wklejania, dw usunięcie słowa, można tę operację powtórzyć tak jak yy lub dd; yw skopiowanie słowa, można tę operację powtórzyć tak jak yy lub dd; cw usunięcie słowa i przejście do trybu wstawiania, można tę operację powtórzyć tak jak yy lub dd; i przejście do trybu wstawiania; a przesunięcie kursora o jeden znak w prawo i przejście do trybu wstawiania; o przesunięcie kursora o jeden wiersz w dół i przejście do trybu wstawiania; r następny wprowadzony znak zastąpi ten, który znajduje się pod kursorem; 2

R przejście do trybu zastępowania; J złączenie dwóch sąsiednich wierszy; gg ustawienie kursora na początku tekstu (pierwszy wiersz); G ustawienie kursora na końcu tekstu (ostatni wiersz); =G ustawienie wcięć w kodzie źródłowym programu od miejsca, gdzie znajduje się kursor; == ustawienie wcięcia bieżącego wiersza w kodzie źródłowym; Linia poleceń: :q zakończenie pracy edytora; :q! zakończenie pracy edytora bez zapisywania edytowanego pliku; :wq zapisanie pliku i zakończenie pracy edytora; :x zapisanie zmian w pliku i zakończenie pracy edytora; :w zapisanie pliku, po spacji można opcjonalnie podać nazwę pod jaką plik ma być zapisany; :set tw=n ustalenie maksymalnej liczby znaków w wierszu; n jest liczbą; /fraza wyszukanie wystąpienia frazy w tekście; :s/fraza1/fraza2 zastąpienie frazy1 frazą2 jeśli kursor znajduje się w miejscu wystąpienia tej pierwszej, :s/fraza1/fraza2/g jak wyżej, ale w całym wierszu; :%s/fraza1/fraza2 jak wyżej, ale zastępowane jest pierwsze wystąpienia frazy1 we wszystkich wierszach i jest to proces automatyczny (nie trzeba ręcznie wyszukiwać frazy); :%s/fraza1/fraza2/g jak wyżej, ale zastępowane jest każde wystąpienie frazy1 w pliku; :s powtórzenie ostatniego zastąpienia; :syn on włączenie kolorowania składni kodu źródłowego (często jest ono domyślnie włączone); :syn off wyłączenie kolorowania składni kodu źródłowego; :set cindent wyłączenie automatycznego formatowania wcięć w kodzie źródłowym dla języka c (domyślnie często włączone); :set smartindent wyłączenie automatycznego formatowania wcięć w kodzie źródłowym po przejściu kursorem do nowego wiersza (domyślnie często włączone); :set autoindent włącza automatyczne ustawianie wcięcia w odniesieniu do poprzedniego wiersza (domyślnie często włączone); :set wrap włącza zawijanie wierszy; set nowrap wyłącza zawijanie wierszy; :set number włącza numerowanie wierszy; :set nonumber wyłącza numerowanie wierszy; :set relativenumber włącza numerowanie wierszy względem bieżącego położenia kursora, pomocne przy kopiowaniu lub usuwaniu wielu wierszy kodu; :set norelativenumber wyłącza numerowanie wierszy względem bieżącego położenia kursora; :n przejście do wiersza o numerze n; 3

:set paste włącza wierne kopiowanie fragmentów tekstu, kiedy do kopiowania używana jest mysz, działa po przejściu w tryb wstawiania lub edycji; :set nopaste wyłącza wierne kopiowanie fragmentów tekstu, kiedy do kopiowania używana jest mysz; :redo odwrotność cofnięcia; :colo nazwa pozwala ustawić schemat kolorów edytora, nazwa oznacza nazwę schematu; :tabnew tworzy nową zakładkę w edytorze, opcjonalnie może być podana nazwa pliku, którego zawartość ma być w zakładce wyświetlona; :tabprev przejście do poprzedniej zakładki; :tabnext przejście do następnej zakładki; :e nazwa otwarcie pliku o podanej nazwie; :sp podział poziomy ekranu na dwa równe okna, jeśli po poleceniu występuje nazwa pliku, to będzie on wyświetlany w jednym z tych okien; :vsp jak wyżej, ale podział jest pionowy; Ctrl+w przełączanie między oknami; :! polecenie wykonanie polecenia powłoki systemowej, w ten sposób można np. kompilować i uruchamiać programy nie opuszczając edytora; Wiele z podanych tutaj poleceń można wykonać automatycznie po uruchomieniu edytora lub można przypisać je określonym klawiszom (najczęściej klawiszom funkcyjnym). Można taki efekt uzyskać edytując zawartość pliku.vimrc, który tworzony jest w katalogu głównym użytkownika (w Linuksie wszystkie pliki, których nazwa zaczyna się od kropki są ukryte). 3.2. Tryby wstawiania i zastępowania Są to tryby w których wprowadzamy tekst do pliku. Różnią się tym, że w trybie wstawiania nowe znaki są dostawiane do istniejących, a w trybie zastępowania zastępują istniejące. Przydatne kombinację klawiszy to: Ctrl+p - uzupełnienie tekstu wzorcem, który występuje już wcześniej, Ctrl+n - uzupełnienie tekstu wzorcem, który występuje już później w tekście. W przypadku języka c te kombinacje mogą podpowiadać nazwy funkcji. Kombinacja klawiszy Shift+k powoduje wyświetlenie, o ile istnieje, strony podręcznika dla funkcji, której nazwa jest umieszczona pod kursorem. Powrót do trybu poleceń następuje przez naciśnięcie klawisza Esc (ang. escape). 3.3. Tryb wizualny Ten tryb jest rzadko używany, ale czasem jest przydatny, jeśli trzeba przeprowadzić działania na kolumnach tekstu, a nie wierszach. Z trybu poleceń można przełączyć się do trybu wizualnego naciskając kombinację klawiszy Ctrl+v. Następnie można zaznaczyć kolumnę tekstu i po naciśnięciu klawisza I (duże i) wprowadzić znaki. Po powrocie do trybu poleceń (klawisz Esc) te znaki zostaną skopiowane do każdego wiersza znajdującego się w kolumnie. Ten tryb umożliwia np. komentowanie kilku wierszy kodu w jednym kroku. 4. Kompilacja i uruchomienie programu Poniżej podano kod źródłowy (Listing 1) prostego programu napisanego w języku c. Uwaga: Numery wierszy nie są częścią kodu źródłowego, służą wyłącznie do ułatwienia opisywania kodu! 4

1 #include<stdio.h> 2 3 int main(void) 4 { 5 puts("hello World!"); 6 return 0; 7 } Listing 1: Kod źródłowy przykładowego programu w języku c W języku c dostępna jest tylko jedna forma podprogramów - funkcje. Każdy program napisany w tym języku musi zawierać definicję funkcji o nazwie main 1 (patrz wiersz nr 3). Jest to główna funkcja w programie i od niej zaczyna się jego wykonanie. Przed nazwą funkcji podawana jest nazwa typu wartości przez nią zwracanej. Słowo int oznacza, że będzie to wartość całkowita. Za nazwą funkcji w nawiasach okrągłych wymieniane są argumenty funkcji. W podanym przykładzie nie chcemy, aby ta funkcja przyjmowała jakiekolwiek argumenty 2, więc umieszczamy tam słowo kluczowe void (w dosłownym tłumaczeniu z języka angielskiego: pustka ). Można też zostawić puste nawiasy okrągłe za nazwą funkcji. Taki zapis w języku c oznacza, że funkcja przyjmuje dowolną liczbę argumentów, w szczególności zero. W wierszu piątym wywoływana jest funkcja puts. Przyjmuje ona jako argument wywołania ciąg znaków, który wypisuje na ekranie, po czym przenosi kursor do następnego wiersza. Zwraca liczbę wypisanych znaków, ale ta wartość jest najczęściej ignorowana. W wierszu pierwszym znajduje się informacja dla preprocesora, który jest częścią kompilatora, że ma włączyć do naszego programu plik nagłówkowy o nazwie stdio.h, w którym zawarta jest definicja funkcji puts. Pliki nagłówkowe umożliwiają w języku c korzystanie z bibliotek podprogramów. Szósty wiersz zawiera słowo kluczowe return, które nakazuje funkcji zakończenie jej wykonania i zwrócenie wartości wyrażenia znajdującej się po prawej stronie tego słowa. W przypadku funkcji main wartość zwracana jest interpretowana przez system operacyjny. Jeśli wynosi ona zero, to sygnalizuje, że program zakończył się prawidłowo. Dosyć często wartość zwracana za słowem kluczowym return umieszczana jest w nawiasach okrągłych, ale nie jest to wymogiem. Nawiasy klamrowe (wiersze cztery i siedem) są odpowiednikami słów kluczowych begin i end z języka Pascal. Kod źródłowy z listingu 1 należy umieścić w pliku z rozszerzeniem c (np. hello.c) i skompilować przy użyciu kompilatora gcc, wywołując go w ten sposób: gcc -Wall -o nazwa nazwa.c Opcja -Wall oznacza, że kompilator będzie generował wszystkie ostrzeżenia. Ostrzeżenie jest informacją, że dany fragment kodu źródłowego może powodować problemy podczas działania programu, np. może być dwuznaczny i nie zadziałać tak, jak programista by sobie tego życzył. Ostrzeżenia nie powodują przerwania kompilacji, ale utworzony kod wynikowy może zawierać defekty powodujące błędy w czasie wykonania programu. Należy więc dążyć do całkowitego wyeliminowania ostrzeżeń poprzez poprawienie wskazanych miejsc w kodzie źródłowym. Jeśli kompilator znajdzie błąd w kodzie źródłowym, wówczas przerywa kompilację i nie powstaje kod wynikowy. Opcja -o powoduje nadanie plikowi wykonywalnemu określonej nazwy. Warto zwrócić uwagę, że w Linuksie (i ogólnie w Uniksach) plik wykonywalny nie ma rozszerzenia (nie jest ono obowiązkowe). Program uruchamiamy z linii poleceń następująco:./nazwa. 5. Dodatkowe materiały Na temat edytora vim można poczytać w książce A Byte Of VIM (autor Swaroop C.H.) dostępnej za darmo w postaci pliku pdf. Książka jest w języku angielskim, nie mam żadnych informacji na temat jej przekładu na język polski. 1 Istnieją wyjątki od tej reguły, ale są zbyt skomplikowane, żeby je tu opisywać. 2 Funkcja main może przyjmować argumenty, ale ten przypadek zostanie opisany w innej instrukcji. 5

6. Zadania 1. Zapoznaj się z poleceniami powłoki systemowej. 2. Uruchom program vimtutor do nauki edytora vim i wykonaj zawarte w nim lekcje. 3. Przepisz kod źródłowy z listingu 1, skompiluj go i uruchom program. 6