lu.se

Datavetenskap

Lunds Tekniska Högskola

Denna sida på svenska This page in English

Laborationer

Laborationerna är obligatoriska. De äger rum i grupper i läsveckorna 2 - 7 i läsperiod HT2. Man ska samarbeta två och två. 

Anmälan och gruppindelning görs i SAM.

En kort introduktion till kommandorads-miljön i datorsalarna finns på sidan Om kommandoraden. (Notera att  Windows Subsystem for Linux (WSL) introducerades i Windows 10, för äldre Windows-system är  Cygwin ett alternativ.)

Uppgifter

Schema för laborationsuppgifterna:

Laboration 1, Introduktion till verktygen, grundläggande C++: Läsvecka 2

Laboration 2, Introduktion till standardbiblioteket: Läsvecka 3--4

Laboration 3, Debugging: Läsvecka 5

Laboration 4, Strängar och strömmar;  felhantering; generisk programmering: Läsvecka 6--7

 

Notera att det är två labtillfällen för lab 2 och 4.

Labbhandledningen finns i cpplabs.pdf 

Noter

Lab 1

På vissa system (bland annat Mac med arm-processor) fungerar den "strömlinjeformade" leak sanitizer (-fsanitize=leak) inte.

leak sanitizer ingår även som en del i den större address sanitizer (-fsanitize=address). Om -fsanitize=leak inte fungerar kan du testa att bygga med -fsanitize=address.

 

Sen kan du behöva sätta miljövariablen  ASAN_OPTIONS='detect_leaks=1' för att aktivera leak sanitizer.

Till exempel, för att köra programmet leak (byggt med -fsanitize=address) med kontroll för minnesläckor aktiverad ge kommandot:

ASAN_OPTIONS='detect_leaks=1' ./leak

och omvänt kan du stänga av leak sanitizer (men behålla resten av address sanitizers kontroller) med

ASAN_OPTIONS='detect_leaks=0' ./leak

Se dokumentationen för mer detaljer. Google Sanitizers finns på https://github.com/google/sanitizers.

Lab2

Om /usr/share/dict/words inte finns på ditt system kan du använda denna filen: dict-words.txt

Alternativt kan du installera ordlistan. I Ubuntu finns ordlistan i paketet wbritish respektive or wamerican. Kommandot

sudo apt-get install wbritish (or wamerican)

installerar en ordlista under /usr/share/dict/words