Różnice między wybraną wersją a wersją aktualną.
Poprzednia rewizja po obu stronach Poprzednia wersja Nowa wersja | Poprzednia wersja | ||
mater:vbox [11/03/2018 19:08] Tomasz Jaworski [Konfiguracja współdzielonego folderu] |
mater:vbox [23/05/2019 12:38] (aktualna) Tomasz Jaworski [Pobranie oraz instalacja wirtualnej maszyny] |
||
---|---|---|---|
Linia 13: | Linia 13: | ||
* Podstawy Programowania 1 (semestr 1) | * Podstawy Programowania 1 (semestr 1) | ||
* Podstawy Programowania 2 (semestr 2) | * Podstawy Programowania 2 (semestr 2) | ||
- | | + | < |
Skonfigurowane narzędzia pozwolą skupić się Studentowi na najistotniejszych problemach, związanych z samym językiem oraz algorytmiką a pominąć różnice oraz problemy z mnogością implementacji języka C w różnych kompilatorach. Podstawą konfiguracji jest pełna zgodność środowiska pracy Studenta z systemem testów maszynowych **Mrówka**, | Skonfigurowane narzędzia pozwolą skupić się Studentowi na najistotniejszych problemach, związanych z samym językiem oraz algorytmiką a pominąć różnice oraz problemy z mnogością implementacji języka C w różnych kompilatorach. Podstawą konfiguracji jest pełna zgodność środowiska pracy Studenta z systemem testów maszynowych **Mrówka**, | ||
Linia 57: | Linia 57: | ||
Środowisko, | Środowisko, | ||
+ | |||
+ | Wersja **x64**: [[http:// | ||
+ | |||
Po zakończeniu pobrania plik należy zaimportować do VirtualBoxa, | Po zakończeniu pobrania plik należy zaimportować do VirtualBoxa, | ||
Linia 93: | Linia 96: | ||
Skrót ten można ustawić za pomocą polecenia **File** -> **Preferences** -> **Input**. Następnie należy wybrać zakładkę **Virtual Machine**. | Skrót ten można ustawić za pomocą polecenia **File** -> **Preferences** -> **Input**. Następnie należy wybrać zakładkę **Virtual Machine**. | ||
- | {{: | + | {{ :vbox_inst: |
W polu **Host Key Combination** należy wybrać klawisz modyfikatora, | W polu **Host Key Combination** należy wybrać klawisz modyfikatora, | ||
Linia 103: | Linia 106: | ||
Po wprowadzeniu wszystkich zmian można uruchomić wirtualną maszynę, klikając na ikonę **Start**. Następnie trzeba poczekać na start systemu operacyjnego gościa. | Po wprowadzeniu wszystkich zmian można uruchomić wirtualną maszynę, klikając na ikonę **Start**. Następnie trzeba poczekać na start systemu operacyjnego gościa. | ||
- | Po pomyślnym uruchomieniu powinniśmy zobaczyć poniższy widok - okno logownia | + | Po pomyślnym uruchomieniu powinniśmy zobaczyć poniższy widok - okno logowania |
- | {{: | + | {{ :vbox_inst: |
- | Zainstalowany system posiada dwa konta: * Konto **root** - administratora, | + | Zainstalowany system posiada dwa konta: |
+ | | ||
- | > Hasło do konta: **pp** | + | <code>pp</ |
- | * Konto **student** - konto robocze, do pracy z językiem C. Posiada już skonfigurowane narzędzia. **Zalecane do normalnej pracy**. | + | * Konto **student** - konto robocze, do pracy z językiem C. Posiada już skonfigurowane narzędzia. **Zalecane do normalnej pracy**. |
- | > Hasło do konta: **student** | + | <code>student</ |
===== Uruchomienie i przydatne skróty ===== | ===== Uruchomienie i przydatne skróty ===== | ||
Linia 119: | Linia 123: | ||
Po zalogowaniu się do konta **student** możemy zacząć pracować w nowym systemie. | Po zalogowaniu się do konta **student** możemy zacząć pracować w nowym systemie. | ||
- | {{: | + | {{ :vbox_inst: |
+ | |||
+ | W ramach wirtualnej maszyny dostępne są preinstalowane oraz skonfigurowane: | ||
+ | * środowisko CodeLite, do pisania i uruchamiania programów | ||
+ | * kompilator GCC 6.3.0 | ||
+ | * tester Valgrind + Memcheck | ||
+ | * debugger gdb | ||
+ | * manager plików Midnight Commander | ||
+ | |||
+ | Do pisania kodu należy skorzystać ze środowiska CodeLite. | ||
+ | Po jego uruchomieniu należy utworzyć nową przestrzeń roboczą (Workspace). Jest to odpowiednik np. Rozwiązania (Solution) ze środowiska Visual Studio. Jest to operacja, która należy wykonać jednokrotnie, | ||
+ | - W tym celu z menu wybieramy **File** -> **New** -> **New Workspace**. | ||
+ | - W polu **Workspace Name** wpisujemy nazwę przestrzeni, | ||
+ | - Ścieżkę możemy zmienić, ale domyślna to **/ | ||
+ | - Teraz możemy wyłączyć i włączyć CodeLite ponownie. Utworzona przez nasz przestrzeń robocza powinna zostać automatycznie wczytana. **Można przystąpić do kodowania :)** | ||
+ | |||
+ | ===== Przygotowanie projektu; projekt a zadanie ===== | ||
+ | |||
+ | Praktycznie wszystkie środowiska programistyczne nie pozwalają na kompilację pojedynczych plików - kompilują wyłącznie całe projekty. Oczywiście, | ||
+ | W przypadku tej maszyny wirtualnej CodeLite został skonfigurowany tak, aby jak najlepiej odwzorowywać środowisko uruchomieniowe systemu HW. Szczególnie tyczy się to parametrów kompilatora/ | ||
+ | |||
+ | Zatem, aby praca teraz i później przebiegała bez problemów //należy przyjąć, że jedno zadanie = jeden projekt// | ||
+ | |||
+ | Aby utworzyć nowy projekt, wykonujemy: | ||
+ | - Wybieramy **File** -> **New** -> **New project**. | ||
+ | - Z listy proponowanych szablonów wybieramy **Mrówka** a potem **Projekt konsolowy w C (gcc)** i klikamy **Next**. | ||
+ | - Podajmy nazwę projektu, np. **zad_21_1**. <color # | ||
+ | - W oknie ustawienia toolchaina (zestawu narzędzi budujących) nie wprowadzamy zmian i klikamy **Finish**. | ||
+ | |||
+ | Po utworzeniu projektu możemy rozwinąć jego listę plików do takiej formy: | ||
+ | {{ : | ||
+ | Plik **main.c** jest naszym plikiem roboczym w ramach projektu (zadania) 21.1. | ||
+ | |||
+ | <color # | ||
+ | {{ : | ||
+ | **Aktywny projekt można zmienić, klikając dwukrotnie na innym.** | ||
+ | |||
+ | ===== Kompilacja i uruchomienie ===== | ||
+ | |||
+ | Po utworzeniu przestrzeni roboczej, utworzeniu projektu oraz otworzeniu pliku **main.c** możemy przystąpić do pisania kodu. Poniżej przedstawiono domyślną zawartość pliku głównego. | ||
+ | {{ : | ||
+ | |||
+ | Po napisaniu kodu można go uruchomić. Do tego celu służą poniższe przyciski w pasku narzędzi: | ||
+ | {{ : | ||
+ | * Pierwszy uruchamia program pod kontrolą systemu operacyjnego, | ||
+ | * Drugi uruchamia program w trybie Debug. Tutaj należy korzystać z pułapek (menu **Debugger** -> **Toggle breakpoint** lub //F9//). Alternatywa - skrót klawiaturowy //F5//. | ||
+ | |||
+ | Możliwy problem: Komunikat //Clock skew detected// w oknie **Build** -> patrz koniec dokumentu. | ||
+ | |||
+ | **Od tej chwili można swobodnie pracować nad kodem - powodzenia! :-)** | ||
+ | |||
+ | ===== Możliwe problemy podczas uruchamiania i pracy ===== | ||
+ | W tej sekcji będę umieszczał rozwiązania wszystkich problemów technicznych, | ||
+ | |||
+ | ==== Clock skew detected ==== | ||
- | W ramach wirtualnej maszyny dostępne jest przeinstalowane oraz skonfigurowane | + | Błąd wynika z konfiguracji katalogu /// |
+ | - wyłączyć wirtualną maszynę, | ||
+ | - z głównego menu Virtual Box wybrać **Machine** -> **Settings** -> zakładka **System**, | ||
+ | - odznaczyć pole **Hardware Clock in UTC time**, | ||
+ | - kliknąć **OK** i uruchomić ponownie maszynę. | ||
- | bla bla bla...................... | + | ==== Linux wiesza się chwilę starcie ==== |
+ | Chwilę po starcie system Linux zatrzymuje się ze zbliżonym komunikatem: | ||
+ | {{ : | ||
+ | Możliwe scenariusze: | ||
+ | * Komputer ma wyłączoną wirtualizację w BIOSie. Zrestartuj swój komputer, włącz ją i uruchom ponownie uruchom Virtual Boxa. Ze względu na mnogość systemów BIOS, nie ma jednej ścieżki na włączenie/ | ||