Univerza v Mariboru
Fakulteta za elektrotehniko, racunalnistvo in informatiko
UN E 1, UN GING E 1
asistent: Robert Meolic
Programiranje za elektrotehnike II
Racunalniske vaje potekajo v ucilnici G-219.
Na tej strani so zbrane uporabne povezave, ki dopolnjujejo
predavanja, RV in LV pri tem predmetu.
Gradivo za posamezne vaje in naloge bodo objavljene v sistemu
Moodle.
Knjige
- Programming --
Principles and Practice Using C++ - avtor Bjarne Stroustrup -
ucbenik avtorja jezika C++ (kupite jo lahko npr. na
amazon.de,
amazon.co.uk,
BookDepository)
- C++ Primer - avtorji Stanley B. Lippman, Josee Lajoie, Barbara E. Moo -
to je ena novejsih o C++ (kupite jo lahko npr. na
amazon.de,
amazon.co.uk,
BookDepository)
- Thinking in C++ - prosta knjiga, avtor Bruce Eckel
- Data Structures and Algorithms with Object-Oriented Design Patterns in C++ - prosta knjiga, avtor Bruno R. Preiss
- Operating Systems: Three Easy Pieces - prosta knjiga o tezkih stvareh (socasno izvajanje, datotecni sistemi, virtualizacija itd.), avtorja Remzi Arpaci-Dusseau in Andrea Arpaci-Dusseau
- tukaj je zanimiv spisek knjig o C++
Gradivo o programiranju in programskem jeziku C++
- Ce vam gre programiranje tezko od rok in sta vam C ter C++ nerazumljiva jezika, poskusite najprej
narediti nekaj projektov z orodjem Scratch!
-
Brian W. Kernighan in
Dennis M. Ritchie
- domaca stran avtorjev programskega jezika C
-
Bjarne Stroustrup's homepage - domaca stran avtorja programskega jezika C++
-
C++ Language Tutorial (Juan Soulle) - gradivo za C++ (brez STL)
-
C++ Annotations (Frank B. Brokken) - celovito gradivo za C++
-
C++ Tutorial (tutorialspoint.com) - krajse, a tudi dobro gradivo za C++
-
C++ Tutorial (bogotobogo.com) - zelo lepo oblikovano gradivo za C++
-
C++ Reference (Wiki) - uporabite, ce iscete kratek opis neke funkcije
-
C++ FAQ Lite (Marshall Cline) - tukaj najdete odgovore na tezka vprasanja
-
Cprogramming.com - obsezna zbirka gradiva in povezav o C in C++ v anglescini
-
c++.de - obsezna zbirka gradiva in povezav o C in C++ v nemscini
-
Standard C++11 je bil sprejet 12.8.2011:
Wikipedijin zapis,
Threads,
Lambda functions
-
TIOBE: Programming Community Index (ocenjuje popularnost programskih jezikov)
-
Programski jeziki B, D, C-- in seznam skoraj vseh programskih jezikov - Wikipedia
-
C++ je privzeti programskih jezk za mobilni platformi
Ubuntu Touch in Sailfish OS in tudi nekatere druge
-
Tukaj so informacije o uporabi C++ v programih za Android, iOS in Windows Phone
(glej tudi Nokia Developer)
-
C++ je uporaben, ce zelite igrico za vec platform, uporabite lahko npr.
Cocos2d-x, Marmalade,
ali pa kaj drugega
-
The Joel Test: 12 Steps to Better Code (zelo koristno branje za resne programerje)
-
compileonline.com - preizkusite C++ programe kar v brskalniku!
-
ideone.com - tudi tukaj lahko preizkusite C++ kar v brskalniku!
-
Zanimivi forumi o C++:
GIDForums,
CodeGuru,
DaniWeb,
Cprogramming.com,
c++.de, ...
-
UPM - univerzitetni programerski maraton:
naloge,
stare naloge
-
CodeProject:
Algorithms and Recipes,
cplus.about.com
-
The International Obfuscated C Code Contest:
anderson.c,
nanochess.c
(domaca stran).
Zanimive knjiznice, ki jih lahko enostavno uporabimo pri programiranju v C++
-
C++ Standard Library in Standard Template Library (STL)
Boost - najbolj znana zunanja zbirka
C++ knjiznic
-
FLTK (Fast Light Toolkit) - prosta in prenosljiva knjiznica za izdelavo graficnih vmesnikov v C++
- DEMO PRIMERI ZA VAJE:
vaja1.cpp,
vaja2.cpp,
vaja3.cpp,
OPIS
- Tukaj najdete FLTK Programming Manual in FLTK 1.3 Class Index
- FLTK Links (programi, primeri, dokumentacija, ...)
- FLTK Cheat Page (Greg Ercolano, Seriss Corporation)
- FLTK Recycling Game (zanimiva igrica, Yuri D'Elia)
- Dillo (zanimiv FLTK projekt - brskalnik)
- Forumi:
fltk.general
(@gmane,
@mail-archive),
GIDForums: FLTK Forum
- Nadgradnje FLTK-ja: SPTK,
FLU,
Tcl/Fltk,...
- Druge popularne tehnologije za graficne vmesnike:
GTK+,
Qt,
wxWidgets,
Tcl/Tk
in se mnoge druge knjiznice ter programi
Gradivo na tujih univerzah
- California Institute of Technology - CS11 (2010-2011) - C++, Standard Library, STL
- Trinity Western University - CMPT 166 (2011) - C++, UML, FLTK, BSD sockets, pthreads, design patterns, itd.
- Trinity Western University - CMPT 370 (2009) - FLTK
- Saint Mary's University - CSCI 2341 (2011) - C++, Standard Library, STL
- Aalborg University (2008) - C++, generic programming, contract programming, BOOST, itd.
Prevajalniki za C++
- g++ je zelo razsirjen in izpiljen prost prevajalnik za C++, je del paketa gcc iz projekta GNU, za katerim stoji organizacija Free Software Foundation (FSF)
- MinGW - Minimalist GNU for Windows je prost paket orodij iz projekta GNU (vkljucno s prevajalnikom g++) za operacijski sistem MS Windows
- Cygwin je tudi prost paket
orodij iz projekta GNU za operacijski sistem MS Windows (bolj kompleksen kot MinGW)
- Digital Mars C++ compiler
je prost prevajalnik za C++ (samo za MS Windows)
- Open Watcom
je se en prost prevajalnik za C++ (za MS Windows, nazadnje posodobljen 2010)
- Clang
je moderen a nekoliko zahtevnejsi prost prevajalnik za C++ in Objective C/C++ (za Linux)
- Visual C++ (MSVC)
je Microsoftovo komercialno okolje za C++,
Visual C++ Express Edition je njihova prosta verzija (samo za MS Windows,
koristna dodatna orodja in ogromno primerov dobite v paketu Micosoft Windows SDK)
- Intel C++
compiler je se eno komercialno okolje, Intel C++ for non-commercial development je njihova prosta verzija (za MS Windows in Linux)
- C++Builder
je prav tako komercialno okolje, originalno od podjetja Borland,
sedaj ga razvija podjetje Embarcadero Technologies (samo za MS Windows)
- CodeWarrior Development Studio
je komercialno okolje namenjeno predvsem za
razvoj vgrajenih sistemov, originalno od podjetja Metrowerks, sedaj ga razvija podjetje Freescale
- Wind River Compiler
je se eno komercialno okolje namenjeno
za razvoj vgrajenih sistemov
- Keil ARM C/C++
je se eno komercialno okolje s prevajalnikom za C++ namenjeno
za razvoj vgrajenih sistemov
- Comeau C/C++
je komercialni prevajalnik, ki pretvori C++ v C in nato
uporabi C prevajalnik za pretvorbo v strojni jezik, uporablja se
predvsem pri razvoju vgrajenih sistemov
- Spisek prevajalnikov za C++, ki ga vzdrzuje avtor jezika C++
- Prevajalniki za C, ki ne podpirajo C++, a so zanimivi za
elektrotehnike / elektronike:
mikroC,
pcc
OPOMBA: Vecina nastetih prevajalnikov je na voljo tudi za okolje MAC OS X. Preverite sami.
Programerska okolja (IDE) in urejevalniki za C++
Programerska okolja, ki vsebujejo prevajalnik:
- Digital Mars, Open Watcom in vsi komercialni prevajalniki (npr. Visual C++) so celovita programerska okolja in vsebujejo tudi urejevalnik, razhroscevalnik ter druga koristna orodja. Proste verzije teh prevajalnikov (npr. Visual C++ Express Edition) prav tako vkljucujejo osnovno programersko okolje
-
Ultimate++
je prosto programersko okolje za Linux in MS Windows (verzija za MS Windows vkljucuje prevajalnik MinGW, lahko uporabljamo tudi Visual C++), vsebuje stevilne optimizirane knjiznice, ki jih lahko uporabimo namesto standardnih in omogoca enostavno izdelavo graficnih aplikacij
-
Dev-C++
je prosto programersko okolje za MS Windows, ki vsebuje prevajalnik MinGW,
razvijajo ga v podjetju BloodshedSoftware
-
wxDev-C++
je nadgradnja Dev-C++, ki dodatno omogoca enostavno izdelavo graficnih aplikacij z uporabo knjiznice wxWidgets
-
Sourcery CodeBench
je komercialno programersko okolje podjetja Mentor Graphics namenjeno razvoju vgrajenih sistemov (vkljucuje g++ in druga orodja iz projekta GNU ter Eclipse IDE)
Programerska okolja, ki ne vsebujejo prevajalnika in ga moramo zato naloziti posebej:
-
NetBeans je prosto programersko okolje
za Linux in MS Windows, za delovanje potrebuje Javo
-
Eclipse je prosto programersko okolje
za Linux in MS Windows, za delovanje potrebuje Javo
-
ActiveState Komodo Edit
je prosto programersko okolje za Linux in MS Windows, ki ga med drugimi uporabljajo razvijalci Mozille
-
Code::Blocks
je prav tako prosto programersko okolje za Linux in MS Windows
-
CodeLite
je se eno prosto programersko okolje za Linux in MS Windows
-
Anjuta DevStudio
je prosto programersko okolje za Linux
-
KDevelop
je se eno prosto programersko okolje za Linux
-
Emacs je uveljavljen programerski urejevalnik iz projekta GNU, XEmacs je varianta istega urejevalnika, oboje za Linux in MS Windows
-
Vim je moderna verzija enega najstarejsih programerskih urejevalnikov na svetu (ki se imenuje 'vi'), Cream je varianta istega urejevalnika, oboje prosto, oboje za Linux in za MS Windows
-
Geany je enostaven prost programerski urejevalnik za Linux in MS Windows
-
Notepad++ je prav tako enostaven prost programerski urejevalnik za MS Windows
-
GNU nano je tekstovni programerski urejevalnik, uporaben za delo na daljavo, ce nimamo grafike
Pripombe, vprasanja: meolic@uni-mb.si