Na stronach w DokuWiki spotkasz dwa typy odnośników:
Niektóre informacje uzupełniające (dodatkowe) podano w formie przypisów, np.
C++ to bardzo przydatny język programowania1)
Aby zobaczyć podgląd przypisu, najedź na niego (na liczbę) myszką. Aby przejść do przypisu, kliknij na niego LPM.
W treści konspektów użyto pewnych znaczników i elementów, które mają na celu zwrócenie uwagi na niektóre zagadnienia.
Szczególnie ważne informacja (zwykle w kontekście rozwiązania zadania) są oznaczane symbolem “” albo za pomocą odpowiedniej ramki z wykrzyknikiem:
important box
Szczególnie przydatne informacje (np. zasady, które pozwolą Ci sprawnie rozwiązać pewne dylematy projektowe) zamieszczono w ramkach z symbolem żarówki:
tip box
W niektórych zadaniach zamieszczono wskazówki i odpowiedzi w formie rozwijalnego elementu:
Treść takiego elementu możesz zobaczyć klikając na jego nagłówek.
Informacje dla chętnych i ciekawostki oznaczono symbolem “”.
Poniższe informacje odnoszą się do kursów programowania dostępnych tutaj: Programowanie.
Integralną część kursów programowania (w języku C++ i w języku Python) stanowią podręczniki dostępne w formie dokumentu PDF na stronie właściwego kursu. Konspekty starają się nie dublować treści z podręczników, dlatego na początku strony poświęconej danemu zagadnieniu podano tytuły rozdziałów (w podręcznikach), z którymi należy zapoznać się, aby być w stanie rozwiązać zadania ćwiczeniowe.
Przy większości zadań podano informację, jakiego typu elementów/konstrukcji języka należy użyć do rozwiązania problemu.
Przede wszystkim bądź konkretny. Zastanów się – czego dokładniej nie rozumiesz, z czym masz problem?
Odpowiedź w stylu “nic nie rozumiem” lub “mam problem ze wszystkim” to nie są właściwe odpowiedzi.
Jeśli napisany kod nie działa i chcesz zadać pytanie prowadzącemu lub na np. Stack Overflow, przygotuj tzw. minimalny działający przykład – minimal working example (MWE).
MWE powinien:
Krótki poradnik poświęcony tworzeniu MWE znajdziesz tu: How to create a Minimal, Complete, and Verifiable example
Dodatkowo, w przypadku błędów budowania programu (kompilacji lub konsolidacji), do dobrej praktyki należy zamieszczanie pełnych logów budowania, np.:
====================[ Build | log_test | Debug ]================================ "C:\Program Files\JetBrains\CLion 2018.3.1\bin\cmake\win\bin\cmake.exe" --build D:\log-test\cmake-build-debug --target log_test -- --no-print-directory "C:\Program Files\JetBrains\CLion 2018.3.1\bin\cmake\win\bin\cmake.exe" -SD:\log-test -BD:\log-test\cmake-build-debug --check-build-system CMakeFiles\Makefile.cmake 0 C:/PROGRA~1/MINGW-~1/X86_64~3.0-P/mingw64/bin/mingw32-make.exe -f CMakeFiles\Makefile2 log_test "C:\Program Files\JetBrains\CLion 2018.3.1\bin\cmake\win\bin\cmake.exe" -SD:\log-test -BD:\log-test\cmake-build-debug --check-build-system CMakeFiles\Makefile.cmake 0 "C:\Program Files\JetBrains\CLion 2018.3.1\bin\cmake\win\bin\cmake.exe" -E cmake_progress_start D:\log-test\cmake-build-debug\CMakeFiles 2 C:/PROGRA~1/MINGW-~1/X86_64~3.0-P/mingw64/bin/mingw32-make.exe -f CMakeFiles\Makefile2 CMakeFiles/log_test.dir/all C:/PROGRA~1/MINGW-~1/X86_64~3.0-P/mingw64/bin/mingw32-make.exe -f CMakeFiles\log_test.dir\build.make CMakeFiles/log_test.dir/depend "C:\Program Files\JetBrains\CLion 2018.3.1\bin\cmake\win\bin\cmake.exe" -E cmake_depends "MinGW Makefiles" D:\log-test D:\log-test D:\log-test\cmake-build-debug D:\log-test\cmake-build-debug D:\log-test\cmake-build-debug\CMakeFiles\log_test.dir\DependInfo.cmake --color= Scanning dependencies of target log_test C:/PROGRA~1/MINGW-~1/X86_64~3.0-P/mingw64/bin/mingw32-make.exe -f CMakeFiles\log_test.dir\build.make CMakeFiles/log_test.dir/build [ 50%] Building CXX object CMakeFiles/log_test.dir/main.cpp.obj C:\PROGRA~1\MINGW-~1\X86_64~3.0-P\mingw64\bin\G__~1.EXE -g -std=gnu++14 -o CMakeFiles\log_test.dir\main.cpp.obj -c D:\log-test\main.cpp [100%] Linking CXX executable log_test.exe "C:\Program Files\JetBrains\CLion 2018.3.1\bin\cmake\win\bin\cmake.exe" -E cmake_link_script CMakeFiles\log_test.dir\link.txt --verbose=1 "C:\Program Files\JetBrains\CLion 2018.3.1\bin\cmake\win\bin\cmake.exe" -E remove -f CMakeFiles\log_test.dir/objects.a C:\PROGRA~1\MINGW-~1\X86_64~3.0-P\mingw64\bin\ar.exe cr CMakeFiles\log_test.dir/objects.a @CMakeFiles\log_test.dir\objects1.rsp C:\PROGRA~1\MINGW-~1\X86_64~3.0-P\mingw64\bin\G__~1.EXE -g -Wl,--whole-archive CMakeFiles\log_test.dir/objects.a -Wl,--no-whole-archive -o log_test.exe -Wl,--out-implib,liblog_test.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\log_test.dir\linklibs.rsp [100%] Built target log_test "C:\Program Files\JetBrains\CLion 2018.3.1\bin\cmake\win\bin\cmake.exe" -E cmake_progress_start D:\log-test\cmake-build-debug\CMakeFiles 0 Build finished
Taki log w szczególności zawiera informacje o użytym kompilatorze oraz o flagach kompilacji:
C:\PROGRA~1\MINGW-~1\X86_64~3.0-P\mingw64\bin\G__~1.EXE -g -std=gnu++14 -o CMakeFiles\log_test.dir\main.cpp.obj -c D:\log-test\main.cpp
które są zwykle istotne podczas diagnostyki i rozwiązywania problemów.
Aby uzyskać log budowania w CLion, w przypadku programów korzystających z CMake należy:
--no-print-directory
.