Wstęp do programowania

Podobne dokumenty
Wskaźniki. Przemysław Gawroński D-10, p Wykład 1. (Wykład 1) Wskaźniki / 9

Typy danych. Przemysław Gawroński D-10, p lutego Wykład 1. (Wykład 1) Typy danych 25 lutego / 11

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

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

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

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!

Co to jest sterta? Sterta (ang. heap) to obszar pamięci udostępniany przez system operacyjny wszystkim działającym programom (procesom).

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Wstęp do programowania. Wykład 1

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

Podstawy programowania skrót z wykładów:

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17

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

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Wskaźniki. Informatyka

WYKŁAD 1 - KONSPEKT. Program wykładu:

Języki i metody programowania I

Programowanie I. Kornel Warwas. ATH Katedra Matematyki i Informatyki

Spis treści WSKAŹNIKI. DYNAMICZNY PRZYDZIAŁ PAMIĘCI W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu

Zmienne, stałe i operatory

PODSTAWY PROGRAMOWANIA STRUKTURALNEGO (C) SYLABUS A. Informacje ogólne

Co nie powinno być umieszczane w plikach nagłówkowych:

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Wstęp do Programowania, laboratorium 02

Języki i metodyka programowania. Wprowadzenie do języka C

Wykład 1

wykład I uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Wstęp do języka C wykład I dr Jarosław Mederski Spis Ogólne informacje

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Programowanie w języku C++

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Podstawy programowania - 1

Podstawy Programowania. Wykład 1

Rok akademicki: 2017/2018 Kod: JFM s Punkty ECTS: 6. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

KARTA KURSU. Wstęp do programowania

Tablice, funkcje - wprowadzenie

Programowanie proceduralne w języku C++ Podstawy

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Podstawy programowania. Wykład 9 Preprocesor i modularna struktura programów. Krzysztof Banaś Podstawy programowania 1

Podstawy programowania komputerów

1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998.

Here comes the sun. Wyk lad niesystematyczny. Marcin Makowski. 24 października Zak lad Chemii Teoretycznej UJ

Programowanie I C / C++ laboratorium 01 Organizacja zajęć

Bardzo szybkie podsumowanie: wykład 3

DYNAMICZNE PRZYDZIELANIE PAMIECI

I - Microsoft Visual Studio C++

Podstawy programowania C. dr. Krystyna Łapin

Lab 1. Wstęp do programowania w C. Zintegrowane środowisko programistyczne Visual Studio.

Podstawy programowania (1)

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Podstawy programowania. Wykład 6 Wskaźniki. Krzysztof Banaś Podstawy programowania 1

Język C++ Różnice między C a C++

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,

Wskaźniki. Programowanie Proceduralne 1

Proste algorytmy w języku C

Część 4 życie programu

PROGRAMOWANIE w C prolog

Microsoft IT Academy kurs programowania

Języki i metody programowania. Omówienie języków C, C++ i Java

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

PARADYGMATY PROGRAMOWANIA Wykład 4

Wstęp. do języka C na procesor (kompilator RC51)

Wykład 9: Polimorfizm i klasy wirtualne

CODE::BLOCKS & VALGRIND OPRACOWAŁ MICHAŁ BETHKE

1 Podstawy c++ w pigułce.

Podstawy Programowania

Wykład 1: Wskaźniki i zmienne dynamiczne

Programowanie w C++ Wykład 3. Katarzyna Grzelak. 12 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 35

Spis treści JĘZYK C - WSKAŹNIKI, DYNAMICZNY PRZYDZIAŁ PAMIĘCI. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu

Języki i metodyka programowania. Wskaźniki i tablice.

Programowanie w C. dr inż. Stanisław Wszelak

Programowanie w języku C++

Podstawy Programowania

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 7. Funkcje Przekazywanie argumentów do funkcji. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Kurs rozszerzony języka Python

4. Tablica dwuwymiarowa to jednowymiarowa tablica wskaźników do jednowymiarowych tablic danego typu.

Programowanie niskopoziomowe

Wskaźniki w C. Anna Gogolińska

Java EE produkcja oprogramowania

Wstęp do programowania

Lab 9 Podstawy Programowania

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1

Spis treści. Język interpretowany vs język kompilowany

// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.

Programowanie mikrokontrolerów AVR

Programowanie Proceduralne

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Podstawy programowania wykład

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Spis treści JĘZYK C - INSTRUKCJA SWITCH, OPERATORY BITOWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05

Transkrypt:

Wstęp do programowania Przemysław Gawroński D-10, p. 234 Wykład 1 8 października 2018 (Wykład 1) Wstęp do programowania 8 października 2018 1 / 12

Outline 1 Literatura 2 Programowanie? 3 Hello World (Wykład 1) Wstęp do programowania 8 października 2018 2 / 12

Literatura 1 Stephen Prata - Język C: szkoła programowania 2 K.N. King C Programming. A Modern Approach 3 Ben Klemens - 21st Century C: C Tips from the New School 4 Richard M. Reese - Understanding and Using C Pointers (Wykład 1) Wstęp do programowania 8 października 2018 3 / 12

Literatura 1 Stephen Prata - Język C: szkoła programowania 2 K.N. King C Programming. A Modern Approach 3 Ben Klemens - 21st Century C: C Tips from the New School 4 Richard M. Reese - Understanding and Using C Pointers 5 Steve Oualline - Język C. Programowanie 6 Kenneth A. Reek - Język C: wskaźniki: vademecum profesjonalisty 7 Herbert Schildt - Programowanie C 8 Brian W. Kernighan, Dennis M. Ritchie - Język ANSI C (Wykład 1) Wstęp do programowania 8 października 2018 3 / 12

Literatura 1 Stephen Prata - Język C: szkoła programowania 2 K.N. King C Programming. A Modern Approach 3 Ben Klemens - 21st Century C: C Tips from the New School 4 Richard M. Reese - Understanding and Using C Pointers 5 Steve Oualline - Język C. Programowanie 6 Kenneth A. Reek - Język C: wskaźniki: vademecum profesjonalisty 7 Herbert Schildt - Programowanie C 8 Brian W. Kernighan, Dennis M. Ritchie - Język ANSI C 9 Kyle Loudon - Algorytmy w C 10 Frantisek Franek - Pamięć w językach C i C++ 11 John Viega, Matt Messier C i C++. Bezpieczne programowanie. Receptury (Wykład 1) Wstęp do programowania 8 października 2018 3 / 12

Literatura 1 Stephen Prata - Język C: szkoła programowania 2 K.N. King C Programming. A Modern Approach 3 Ben Klemens - 21st Century C: C Tips from the New School 4 Richard M. Reese - Understanding and Using C Pointers 5 Steve Oualline - Język C. Programowanie 6 Kenneth A. Reek - Język C: wskaźniki: vademecum profesjonalisty 7 Herbert Schildt - Programowanie C 8 Brian W. Kernighan, Dennis M. Ritchie - Język ANSI C 9 Kyle Loudon - Algorytmy w C 10 Frantisek Franek - Pamięć w językach C i C++ 11 John Viega, Matt Messier C i C++. Bezpieczne programowanie. Receptury 12 Steve Summit Programowanie w języku C. FAQ 13 Peter van der Linden - Expert C Programming. Deep C Secrets (Wykład 1) Wstęp do programowania 8 października 2018 3 / 12

Literatura 1 Stephen Prata - Język C: szkoła programowania 2 K.N. King C Programming. A Modern Approach 3 Ben Klemens - 21st Century C: C Tips from the New School 4 Richard M. Reese - Understanding and Using C Pointers 5 Steve Oualline - Język C. Programowanie 6 Kenneth A. Reek - Język C: wskaźniki: vademecum profesjonalisty 7 Herbert Schildt - Programowanie C 8 Brian W. Kernighan, Dennis M. Ritchie - Język ANSI C 9 Kyle Loudon - Algorytmy w C 10 Frantisek Franek - Pamięć w językach C i C++ 11 John Viega, Matt Messier C i C++. Bezpieczne programowanie. Receptury 12 Steve Summit Programowanie w języku C. FAQ 13 Peter van der Linden - Expert C Programming. Deep C Secrets 14 http://stackoverflow.com/questions/tagged/c (Wykład 1) Wstęp do programowania 8 października 2018 3 / 12

TIOBE INDEX - http://www.tiobe.com (Wykład 1) Wstęp do programowania 8 października 2018 4 / 12

Czym jest programowanie? (Wykład 1) Wstęp do programowania 8 października 2018 5 / 12

Czym jest programowanie? Programowanie proceduralne w języku C zarządzanie pamięcią: (Wykład 1) Wstęp do programowania 8 października 2018 5 / 12

Czym jest programowanie? Programowanie proceduralne w języku C zarządzanie pamięcią: Alokacja pamięci (zmienne): (Wykład 1) Wstęp do programowania 8 października 2018 5 / 12

Czym jest programowanie? Programowanie proceduralne w języku C zarządzanie pamięcią: Alokacja pamięci (zmienne): statyczna (typ, nazwa zmiennej, zakres widzialności), (Wykład 1) Wstęp do programowania 8 października 2018 5 / 12

Czym jest programowanie? Programowanie proceduralne w języku C zarządzanie pamięcią: Alokacja pamięci (zmienne): statyczna (typ, nazwa zmiennej, zakres widzialności), dynamiczna (malloc, realloc) (Wykład 1) Wstęp do programowania 8 października 2018 5 / 12

Czym jest programowanie? Programowanie proceduralne w języku C zarządzanie pamięcią: Alokacja pamięci (zmienne): statyczna (typ, nazwa zmiennej, zakres widzialności), dynamiczna (malloc, realloc) Operacje na zmiennych, modyfikacja wartości zmiennych, zmiana stanu programu: (Wykład 1) Wstęp do programowania 8 października 2018 5 / 12

Czym jest programowanie? Programowanie proceduralne w języku C zarządzanie pamięcią: Alokacja pamięci (zmienne): statyczna (typ, nazwa zmiennej, zakres widzialności), dynamiczna (malloc, realloc) Operacje na zmiennych, modyfikacja wartości zmiennych, zmiana stanu programu: operatory, (Wykład 1) Wstęp do programowania 8 października 2018 5 / 12

Czym jest programowanie? Programowanie proceduralne w języku C zarządzanie pamięcią: Alokacja pamięci (zmienne): statyczna (typ, nazwa zmiennej, zakres widzialności), dynamiczna (malloc, realloc) Operacje na zmiennych, modyfikacja wartości zmiennych, zmiana stanu programu: operatory, funkcje (przekazywanie i zwracanie zmiennych). (Wykład 1) Wstęp do programowania 8 października 2018 5 / 12

Czym jest programowanie? Programowanie proceduralne w języku C zarządzanie pamięcią: Alokacja pamięci (zmienne): statyczna (typ, nazwa zmiennej, zakres widzialności), dynamiczna (malloc, realloc) Operacje na zmiennych, modyfikacja wartości zmiennych, zmiana stanu programu: operatory, funkcje (przekazywanie i zwracanie zmiennych). Dealokacja pamięci (free). (Wykład 1) Wstęp do programowania 8 października 2018 5 / 12

Mapa pamięci programu w języku C Skompilowany program w języku C tworzy 4 osobne obszary pamięci: (Wykład 1) Wstęp do programowania 8 października 2018 6 / 12

Mapa pamięci programu w języku C Skompilowany program w języku C tworzy 4 osobne obszary pamięci: Pierwszy obszar zawiera kod wykonywalny programu. (Wykład 1) Wstęp do programowania 8 października 2018 6 / 12

Mapa pamięci programu w języku C Skompilowany program w języku C tworzy 4 osobne obszary pamięci: Pierwszy obszar zawiera kod wykonywalny programu. Drugi obszar zawiera zmienne globalne. (Wykład 1) Wstęp do programowania 8 października 2018 6 / 12

Mapa pamięci programu w języku C Skompilowany program w języku C tworzy 4 osobne obszary pamięci: Pierwszy obszar zawiera kod wykonywalny programu. Drugi obszar zawiera zmienne globalne. Trzeci obszar to stos. Stos przechowuje adresy powrotne wywołań funkcji, argumenty funkcji, zmienne lokalne oraz aktualny stan procesora. (Wykład 1) Wstęp do programowania 8 października 2018 6 / 12

Mapa pamięci programu w języku C Skompilowany program w języku C tworzy 4 osobne obszary pamięci: Pierwszy obszar zawiera kod wykonywalny programu. Drugi obszar zawiera zmienne globalne. Trzeci obszar to stos. Stos przechowuje adresy powrotne wywołań funkcji, argumenty funkcji, zmienne lokalne oraz aktualny stan procesora. Czwarty obszar to sterta. Sterta to obszar wolnej pamięci, z której program może korzystać za pośrednictwem funkcji dynamicznej alokacji pamięci. (Wykład 1) Wstęp do programowania 8 października 2018 6 / 12

Edycja kodu źródłowego Edytor kodu źródłowego: (Wykład 1) Wstęp do programowania 8 października 2018 7 / 12

Edycja kodu źródłowego Edytor kodu źródłowego: Numerowanie linii, (Wykład 1) Wstęp do programowania 8 października 2018 7 / 12

Edycja kodu źródłowego Edytor kodu źródłowego: Numerowanie linii, Kolorowanie składnii. (Wykład 1) Wstęp do programowania 8 października 2018 7 / 12

Edycja kodu źródłowego Edytor kodu źródłowego: Numerowanie linii, Kolorowanie składnii. Edytory: Code::Blocks www.codeblocks.org (Wykład 1) Wstęp do programowania 8 października 2018 7 / 12

Edycja kodu źródłowego Edytor kodu źródłowego: Numerowanie linii, Kolorowanie składnii. Edytory: Code::Blocks www.codeblocks.org Codelite www.codelite.org (Wykład 1) Wstęp do programowania 8 października 2018 7 / 12

Edycja kodu źródłowego Edytor kodu źródłowego: Numerowanie linii, Kolorowanie składnii. Edytory: Code::Blocks www.codeblocks.org Codelite www.codelite.org Microsoft Visual Studio, (Wykład 1) Wstęp do programowania 8 października 2018 7 / 12

Edycja kodu źródłowego Edytor kodu źródłowego: Numerowanie linii, Kolorowanie składnii. Edytory: Code::Blocks www.codeblocks.org Codelite www.codelite.org Microsoft Visual Studio, vim, gvim, (Wykład 1) Wstęp do programowania 8 października 2018 7 / 12

Edycja kodu źródłowego Edytor kodu źródłowego: Numerowanie linii, Kolorowanie składnii. Edytory: Code::Blocks www.codeblocks.org Codelite www.codelite.org Microsoft Visual Studio, vim, gvim, kate, (Wykład 1) Wstęp do programowania 8 października 2018 7 / 12

Edycja kodu źródłowego Edytor kodu źródłowego: Numerowanie linii, Kolorowanie składnii. Edytory: Code::Blocks www.codeblocks.org Codelite www.codelite.org Microsoft Visual Studio, vim, gvim, kate, gedit,... (Wykład 1) Wstęp do programowania 8 października 2018 7 / 12

/* szkielet funkcji typ funkcja ( lista_parametrow ){ sekwencja instrukcji : deklaracje, przypisania, wywolanie funkcji, instrukcje sterujace, instrukcje puste, } */ (Wykład 1) Wstęp do programowania 8 października 2018 8 / 12 Ogólna postać programu w C # dyrektywy preprocesora // deklaracje globalne int main ( void ){ // sekwencja instrukcji } return 0;

Hello World /* Pierwszy program - komentarz ignorowany przez kompilator */ # include <stdio.h> /* dyrektywa preprocesora, plik naglowkowy biblioteki standardowej, prototyp funkcji printf () */ int main ( void ){ // int main ( int argc, char * argv []) printf (" Pierwszy program.\n"); } return 0; (Wykład 1) Wstęp do programowania 8 października 2018 9 / 12

Drugi program - kilka instrukcji # include <stdio.h> int main ( void ){ char i; for (i =65;i <97; i ++) { if (75== i) break ; if (i %2) printf ("%c ",i); else printf ("%c \n",i +32) ; } } return 0; (Wykład 1) Wstęp do programowania 8 października 2018 10 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilator: (Wykład 1) Wstęp do programowania 8 października 2018 11 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilator: przetwarza kod źródłowy na kod wykonywalny, analizuje poprawność składniową kodu źródłowego, dokonuje optymalizacji. (Wykład 1) Wstęp do programowania 8 października 2018 11 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilator: przetwarza kod źródłowy na kod wykonywalny, analizuje poprawność składniową kodu źródłowego, dokonuje optymalizacji. plik źródłowy (pierwszyprogram.c) kompilator kod obiektowy (pierwszyprogram.o). (Wykład 1) Wstęp do programowania 8 października 2018 11 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilator: przetwarza kod źródłowy na kod wykonywalny, analizuje poprawność składniową kodu źródłowego, dokonuje optymalizacji. plik źródłowy (pierwszyprogram.c) kompilator kod obiektowy (pierwszyprogram.o). linia poleceń: gcc -c pierwszyprogram.c (Wykład 1) Wstęp do programowania 8 października 2018 11 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilator: przetwarza kod źródłowy na kod wykonywalny, analizuje poprawność składniową kodu źródłowego, dokonuje optymalizacji. plik źródłowy (pierwszyprogram.c) kompilator kod obiektowy (pierwszyprogram.o). linia poleceń: gcc -c pierwszyprogram.c Konsolidator: (Wykład 1) Wstęp do programowania 8 października 2018 11 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilator: przetwarza kod źródłowy na kod wykonywalny, analizuje poprawność składniową kodu źródłowego, dokonuje optymalizacji. plik źródłowy (pierwszyprogram.c) kompilator kod obiektowy (pierwszyprogram.o). linia poleceń: gcc -c pierwszyprogram.c Konsolidator: kod obiektowy (pierwszyprogram.o) + kod biblioteki + kod startowy konsolidator plik wykonywalny (pierwszyprogram.exe) (Wykład 1) Wstęp do programowania 8 października 2018 11 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilator: przetwarza kod źródłowy na kod wykonywalny, analizuje poprawność składniową kodu źródłowego, dokonuje optymalizacji. plik źródłowy (pierwszyprogram.c) kompilator kod obiektowy (pierwszyprogram.o). linia poleceń: gcc -c pierwszyprogram.c Konsolidator: kod obiektowy (pierwszyprogram.o) + kod biblioteki + kod startowy konsolidator plik wykonywalny (pierwszyprogram.exe) Kod startowy - interfejs pomiędzy programem a systemem operacyjnym. (Wykład 1) Wstęp do programowania 8 października 2018 11 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilator: przetwarza kod źródłowy na kod wykonywalny, analizuje poprawność składniową kodu źródłowego, dokonuje optymalizacji. plik źródłowy (pierwszyprogram.c) kompilator kod obiektowy (pierwszyprogram.o). linia poleceń: gcc -c pierwszyprogram.c Konsolidator: kod obiektowy (pierwszyprogram.o) + kod biblioteki + kod startowy konsolidator plik wykonywalny (pierwszyprogram.exe) Kod startowy - interfejs pomiędzy programem a systemem operacyjnym. Linker (konsolidator) pobiera z bibliotek tylko te fragmenty, które wymagane są przez funkcje użyte w programie. (Wykład 1) Wstęp do programowania 8 października 2018 11 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilator: przetwarza kod źródłowy na kod wykonywalny, analizuje poprawność składniową kodu źródłowego, dokonuje optymalizacji. plik źródłowy (pierwszyprogram.c) kompilator kod obiektowy (pierwszyprogram.o). linia poleceń: gcc -c pierwszyprogram.c Konsolidator: kod obiektowy (pierwszyprogram.o) + kod biblioteki + kod startowy konsolidator plik wykonywalny (pierwszyprogram.exe) Kod startowy - interfejs pomiędzy programem a systemem operacyjnym. Linker (konsolidator) pobiera z bibliotek tylko te fragmenty, które wymagane są przez funkcje użyte w programie. linia poleceń: gcc -o pierwszyprogram.exe pierwszyprogram.o (Wykład 1) Wstęp do programowania 8 października 2018 11 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilator: przetwarza kod źródłowy na kod wykonywalny, analizuje poprawność składniową kodu źródłowego, dokonuje optymalizacji. plik źródłowy (pierwszyprogram.c) kompilator kod obiektowy (pierwszyprogram.o). linia poleceń: gcc -c pierwszyprogram.c Konsolidator: kod obiektowy (pierwszyprogram.o) + kod biblioteki + kod startowy konsolidator plik wykonywalny (pierwszyprogram.exe) Kod startowy - interfejs pomiędzy programem a systemem operacyjnym. Linker (konsolidator) pobiera z bibliotek tylko te fragmenty, które wymagane są przez funkcje użyte w programie. linia poleceń: gcc -o pierwszyprogram.exe pierwszyprogram.o gcc pierwszyprogram.o (Wykład 1) Wstęp do programowania 8 października 2018 11 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilator: przetwarza kod źródłowy na kod wykonywalny, analizuje poprawność składniową kodu źródłowego, dokonuje optymalizacji. plik źródłowy (pierwszyprogram.c) kompilator kod obiektowy (pierwszyprogram.o). linia poleceń: gcc -c pierwszyprogram.c Konsolidator: kod obiektowy (pierwszyprogram.o) + kod biblioteki + kod startowy konsolidator plik wykonywalny (pierwszyprogram.exe) Kod startowy - interfejs pomiędzy programem a systemem operacyjnym. Linker (konsolidator) pobiera z bibliotek tylko te fragmenty, które wymagane są przez funkcje użyte w programie. linia poleceń: gcc -o pierwszyprogram.exe pierwszyprogram.o gcc pierwszyprogram.o Kompilacja i konsolidacja: gcc -o pierwszyprogram.exe pierwszyprogram.c (Wykład 1) Wstęp do programowania 8 października 2018 11 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilator: przetwarza kod źródłowy na kod wykonywalny, analizuje poprawność składniową kodu źródłowego, dokonuje optymalizacji. plik źródłowy (pierwszyprogram.c) kompilator kod obiektowy (pierwszyprogram.o). linia poleceń: gcc -c pierwszyprogram.c Konsolidator: kod obiektowy (pierwszyprogram.o) + kod biblioteki + kod startowy konsolidator plik wykonywalny (pierwszyprogram.exe) Kod startowy - interfejs pomiędzy programem a systemem operacyjnym. Linker (konsolidator) pobiera z bibliotek tylko te fragmenty, które wymagane są przez funkcje użyte w programie. linia poleceń: gcc -o pierwszyprogram.exe pierwszyprogram.o gcc pierwszyprogram.o Kompilacja i konsolidacja: gcc -o pierwszyprogram.exe pierwszyprogram.c gcc pierwszyprogram.c (Wykład 1) Wstęp do programowania 8 października 2018 11 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilacja i konsolidacja: A gcc -o pierwszyprogram.exe pierwszyprogram.c B gcc pierwszyprogram.c (Wykład 1) Wstęp do programowania 8 października 2018 12 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilacja i konsolidacja: A gcc -o pierwszyprogram.exe pierwszyprogram.c B gcc pierwszyprogram.c Uruchomienie programu z linii poleceń: (Wykład 1) Wstęp do programowania 8 października 2018 12 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilacja i konsolidacja: A gcc -o pierwszyprogram.exe pierwszyprogram.c B gcc pierwszyprogram.c Uruchomienie programu z linii poleceń: A./pierwszyProgram.exe (Wykład 1) Wstęp do programowania 8 października 2018 12 / 12

gcc - kompilacja, konsolidacja, uruchamianie Kompilacja i konsolidacja: A gcc -o pierwszyprogram.exe pierwszyprogram.c B gcc pierwszyprogram.c Uruchomienie programu z linii poleceń: A./pierwszyProgram.exe B./a.out (Wykład 1) Wstęp do programowania 8 października 2018 12 / 12