Laborvezetőknek
A február 7-i héten az első előadás laborkártyáit kérdezzük végig a hallgatóktól (ahány kártya, annyi hallgatóhoz intézzünk kérést). De mivel még nem volt előadás, így ha a hallgató nem tud helyes választ adni, még ne könyveljünk el Neki egy fél hiányzást. A jövő héten majd ugyanezekkel a kártyákkal viszont már igen!
Hallgatóknak
A laborkártyás kérdésre adott választ fogjuk fel egyfajta bemutatkozásnak :)
Tematika
Az alábbi témák legtöbbjét próbáljuk lefedni az első gyakorlaton:
- gcc használata parancssorból
- forráskód indentálása
- a manuál lapok használata
- a PP 25-31. oldal példáinak letöltése, kipróbálása, megbeszélése
- az előadás C++ Helló, világ! példáját élesszük fel a fóliák alapján
BN laborján
Tekerj tovább BN laborjához:
Előfordulhat, hogy valaki nem gyakorlott a Linux parancssorban, ezért kezdjük kicsit szájbarágósan. A következő parancsok kipróbálása során fogod érezni, hogy könnyen megy-e. Ha nem, akkor használd többet a parancssort!
Az első példa
A subversion kliens használata:
(a köv. példákban az svn-es parancsot már ezzel helyettesítsd: svn co svn://hallg.inf.unideb.hu:2005/bevezetes )
[norbi@sgu ~]$ svn co svn://hallg.inf.unideb.hu:2005 elso
A elso/masodikprog1
A elso/masodikprog1/src
A elso/masodikprog1/src/masodik_prog1.cpp
A elso/masodikprog1/src/masodik_prog1.h
A elso/masodikprog1/src/masodik.cpp
A elso/masodikprog1/src/CMakeLists.txt
A elso/masodikprog1/CMakeLists.txt
A elso/szohossz.c
A elso/rszamok.c
A elso/atlag.c
Checked out revision 4.
[norbi@sgu ~]$ mkdir elsoprog1
[norbi@sgu ~]$ cd elsoprog1/
[norbi@sgu elsoprog1]$ cp ../elso/szohossz.c .
[norbi@sgu elsoprog1]$ gcc szohossz.c -o szohossz
[norbi@sgu elsoprog1]$ ./szohos
A második példa
A cmake használata:
[norbi@sgu elsoprog1]$ cd ..
[norbi@sgu ~]$ cp -r elso/masodikprog1/ .
[norbi@sgu ~]$ cd masodikprog1/
[norbi@sgu masodikprog1]$ cmake .
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/lib64/ccache/gcc
-- Check for working C compiler: /usr/lib64/ccache/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/lib64/ccache/c++
-- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/norbi/masodikprog1
[norbi@sgu masodikprog1]$ make
Scanning dependencies of target masodikprog1
[ 50%] Building CXX object src/CMakeFiles/masodikprog1.dir/masodik_prog1.cpp.o
[100%] Building CXX object src/CMakeFiles/masodikprog1.dir/masodik.cpp.o
Linking CXX executable masodikprog1
[100%] Built target masodikprog1
[norbi@sgu masodikprog1]$ src/masodikprog1
Konstruktor.
Hello, Vilag!
Destruktor.
Aztán jön a PP jelölt forrásainak kipróbálása (bemásol, indent, gcc).
Az első kisbajnokság
Futtassuk a PP 27. oldalának for(;;); végtelen ciklusát "vegtelen" néven és ennek
for(;;)
módosítását "vegtelen2" néven. Majd egy ps axu|grep vegt parancs 3. (CPU) oszlopát hasonlítsuk össze és világítsuk meg a helyzetet a man 3 sleep alapján!
sleep(1);