36 lines
1.5 KiB
Markdown
36 lines
1.5 KiB
Markdown
# CPP01 — Od C do C++: oddzielna kompilacja i przestrzenie nazw
|
|
|
|
Karta 01/10 kursu **C++ · Rok 2 · Semestr 1**. Standard: C++20.
|
|
Oś merytoryczna: A Tour of C++ 3e: rozdziały 1 i 3. Materiał książkowy jest parafrazowany;
|
|
repozytorium zawiera samodzielne eksperymenty i testy, a nie kopię książki.
|
|
|
|
## Taski
|
|
|
|
| Task | Temat | Dokładny dowód stdout |
|
|
| --- | --- | --- |
|
|
| Task01 | `Deklaracja i definicja` | `sum=7` |
|
|
| Task02 | `Linkage zewnętrzny i wewnętrzny` | `external=5 internal_bias_result=8` |
|
|
| Task03 | `Kwalifikacja przestrzeni nazw` | `sensor=21 network=204` |
|
|
|
|
Każdy task jest osobnym programem w `src/task0N`. Test kompiluje wszystkie
|
|
jednostki translacji poleceniem zgodnym z `-std=c++20 -Wall -Wextra
|
|
-Wpedantic -Werror`, uruchamia program i porównuje dokładny wynik.
|
|
|
|
## Uruchomienie
|
|
|
|
```bash
|
|
stemctl build native-amd64 cpp CPP01 1
|
|
stemctl test native-amd64 cpp CPP01 1
|
|
stemctl test native-amd64 cpp CPP01 2
|
|
stemctl debug native-amd64 cpp CPP01 3
|
|
```
|
|
|
|
Lokalnie można użyć `make build`, `make test TASK=task02` i
|
|
`make trace TASK=task03`. Ślad debuggera trafia do `.stem/artifacts`.
|
|
|
|
## Granica semestru
|
|
|
|
Ta seria nie uczy API RTOS, zaawansowanych kontenerów STL ani
|
|
współbieżności. Są to osobne bloki następnych semestrów opisanych w
|
|
`/home/user/dev/keys/cxx.md`.
|