HTML

Programozó Páternoszter

Ez a Programozó Páternoszter (PP) blogja, a programozásról szól. Aktualitása, hogy a Debreceni Egyetem Informatikai Kara Magasszintű programozási nyelvek 1-2, C++ esattanulmányok, Java esettanulmányok című kurzusainak blogja is egyben.

A vadászat

A Debreceni Egyetem Programozói Évkönyve: az UDPROG projekt. A szakmai fórumunk a Facebook-en. Az új előadások a prezin.
A régi előadások:
Prog1:
1. C bevezetés
2. C tárgyalás
3. C befejezés
4. C a gyakorlatban
5. C++ bevezetés
6. C++ tárgyalás
7. C++ befejezés
8. C++ a gyakorlatban
9. Java platform bevezetés
10. Kvantuminformatikai alg. bev.
Prog2:
1. Java bevezetés
2. Java tárgyalás
3. Java befejezés
4. Java a gyakorlatban
5. Software Engineering bev.
6. Java EE bevezetés
7. AspectJ bevezetés
8. BPMN-BPEL SOA programozás
9. C++ haladó
10. Tensorflow

Kövess engem!

Friss topikok

Linkblog

Az első labor

2011.02.05. 15:20 nb

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(;;)
  sleep(1);
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!

10 komment

Címkék: man kézikönyv gcc labor helló világ cmake indent

A bejegyzés trackback címe:

https://progpater.blog.hu/api/trackback/id/tr532640251

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

osthunder 2011.02.08. 15:17:46

A vegtelen2 CPU használata lényegesen kisebb. Ezt az okozza, hogy a sleep()altatja processzt míg le nem jár a paraméterezett idő(másodpercben) vagy érvényes signal nem érkezik.

kovdog 2011.02.11. 12:29:04

Az első laborfeladatnál ha bemásolom" a svn co svn://hallg.inf.unideb.hu:2005 elso "parancsot akkor azt írja, hogy ídőtúllépés miatt nem tudom elérni. Viszont a" hallg.inf.unideb.hu "-t böngészőn keresztül el tudom érni. Ubuntu 10.10-et használok, egyelőre csak virtuálisan. Tud valaki segíteni?
UI: ha az" svn://hallg.inf.unideb.hu "-t másolom a Firefoxba akkor azt írja: "A Firefox nem tudja, hogy kell ezt a címet megnyitni, mert a protokoll (svn) nincs egyetlen programhoz sem hozzárendelve." A két dolog összefügg egymással, vagy valami teljesen más a probléma forrása?

nb · http://fersml.blog.hu 2011.02.11. 13:22:37

Valószínűleg az a baj, hogy nem látszik a 2005-ös port az egyetemi tűzfalon keresztül. Ha valóban ez a gond, akkor ssh-z be a hallgra és onnan rántsd le scn-el, azt pedig már ha akarod onnan át tudod vinni a saját gépedre, pl. valami scp kilenssel kényelmesen.

Többieknek megy, este magam is kipróbálom majd otthonról, ha addig nem oldódik meg.

kovdog 2011.02.12. 19:40:25

Próbáltam az Ubuntun ssh-val, nem kért felhasználónevet csak jelszót, amit nem fogadott el(netunkód, hallgato, semmi).Aztán már csatlakozni sem tudott ssh-val "connection timed out" -ot írt ki.
Próbáltam a külső gépemmel a puttyal rácsatlakozni,de ott sem fogadta el a neptun-név+pass kombinációt. Később a putty sem tudta elérni a hallg-ot.

nb · http://fersml.blog.hu 2011.02.12. 19:47:07

Nem ilyen formában kell?

ssh -l hálózati_azonosítód hallg.inf.unideb.hu

vagy

ssh hálózati_azonosítód@hallg.inf.unideb.hu

és a jelszó a Neptun kódod, nem?

(directory.unideb.hu/)

Fek.a. 2011.02.13. 22:37:14

Én akárhogy próbáom ezt kapom vissza : Connection closed by 193.6.128.169

#Gerzson 2011.03.09. 22:56:09

mindenkinek van SSH elérése (komplett shell account, fordítóprogramok, SVN, weblap készítés, PHP, stb)

web.unideb.hu:2222 ssh-z be
felhasználónév/jelszó: amikkel neptunra belépsz.

aztán ott simán le tudod szedni a dolgokat svn

nb · http://fersml.blog.hu 2011.03.10. 11:11:56

@Fek.a.: ugye már ezt próbálod: svn co svn://hallg.inf.unideb.hu:2005/bevezetes

nb · http://fersml.blog.hu 2011.03.10. 11:36:55

@#Gerzson: köszi a tippet, kipróbáltam, valóban megy. 2000 bogomips, de arra tökéletes, hogy leránsátok az svn-t, valóban készítsz egy public_html-t, bele egy index.html és megy is a hp-d, lásd PP 24. lap alja.

Logos 2011.05.18. 09:38:08

Akinek még mindig gondja lenne belépni a shrek-es oldalára:
ssh felhasznalonev@web.unideb.hu -p 22
(ezután megkérdezheti, hogy folytatni akarod-e a kapcsolatot -> írd be: yes)
Aztán pedig kéri a neptunos jelszavadat, és bennt is vagy.
(Ctrl + D -vel tudod bontani a kapcsolatot)
süti beállítások módosítása