[ BrankoSovrlic @ 14.05.2016. 16:49 ] @
Učim iz knjige Dragana Milićeva, Objektno orjentisano programiranje na jeziku C++. Prije nego sam počeo sa C++, upoznao sam sa osnovama programskog jezika C, učio sam iz nekih tutorijala na internetu i sa jutjuba.Mogu reći da sam stekao neko osnovno znanje. Problem je što ja sa ovim znanjem ne mogu da pišem neke tako da kažem ozbiljnije aplikacije. Malo da pojasnim, ja ne mogu napisati aplikaciju koja će recimo pristupiti RS232 portu na računaru i generisati neku sekvencu nula i jedinica. Ili recimo aplikaciju koja će po pokretanju da ugasi sistem. Uopšte, ja ne mogu napisati nikakvu aplikaciju koja na neki način manipuliše operativnim sistemom. Šta je potrebno za ovo? Gledao sam literaturu na tematiku programiranje u C++ jeziku nekih stranih autora i ni tamo nema ovo što mene interesuje. I tamo je obrađeno ono što je u knjizi Milićeva.
[ Aleksandar Đokić @ 14.05.2016. 17:58 ] @
Ne mozes manipulisati OS-om, to se radi putem Win API-ja.
[ BrankoSovrlic @ 14.05.2016. 18:11 ] @
Znači sa pisanje bilo kakve aplikacije, koja nije crni cmd prozor koji očekuje neki input od korisnika i radi nešto sa tom ulaznom informacijom (ovo navodim jer se u osnovnom kursu programiranja u C i C++ sve svodi na pisanje ovakvih aplikacija, koje obično pišemo u code blocks), potreban je Windows API?
[ BrankoSovrlic @ 14.05.2016. 18:17 ] @
Možda zvuči glupo, ali kako se uči Win API? Gledam koliko je koda potrebno za obični Hello World program i pitam se šta bi trebalo sve napisati za nešto iole složenije
[ Zlatni_bg @ 14.05.2016. 22:10 ] @
Spasi sebe muke i nabavi neki RAD, poput Visual Studia, Embarcaderovog Delphija i slicno ako zelis da pravis Win aplikacije. Cist C++ ce ti biti nocna mora za to, bar u pocetku, i uglavnom se koristi za bas low level pristup. VS i Delphi imaju svoje bibilioteke koje "pricaju" sa OS, ti samo procitas dokumentaciju tih biblioteka i koristis ih, tj. pozivas komande putem programskog jezika.
[ Mord @ 05.06.2016. 11:07 ] @
Za windows programiranje imaš tri puta Win API za to ti ide jezik C i knjiga Programming Windows, 5th edition by Charles Petzold stara ali principi još važe. Drugi put je MFC Microsoft Foundation Class Programming Windows® with MFC, Second Edition by Jeff Prosise (ima još stare ali važe) i novija Wrox.Ivor.Hortons.Beginning.Visual.CPP.2013.Apr.2014 i treći put ti je QT programing. Ja sam izabrao četvrti put C++/CLI to je microsoft varijanata c++ koja koristi .NET Framework i bliski je C#. Razlika samo u dinamičkom korišćenju memorije.... I peto windows programing preko Win API-ja ili MFC je pakao......QT nisam probao ali je sličan windows formama samo je sintaksa drugačija.....Klasični C++ crno belo programiranje mi je nezanimljivo i mrtvo time se ne bih nikada bavio...
[ Nedeljko @ 12.06.2016. 09:18 ] @
C++ je jezik, koji ne uključuje biblioteke za mnogo štošta, jer to nije standardizovano, već prepušteno proizvođačima da rešavaju i da se takmiče u tome.

Knjiga od Milićeva je užas. Objašnjava sintaksu, ali ne i čemu sve to služi. Nema živih primera. Nije problem što opisuje samo onaj standardni C++ koji ne ide dalje o0d konzole i datotečnog sistema, već što iz nje nećeš naučiti C++. Znaćeš šta su virtuelne metode, ali ne i čemu služe.

No, kada se zna C++ kako treba, najtoplija preporuka je Qt za te stvari koje standardna biblioteka ne pokriva. Evo nekih karakteristika Qt-a

1. Izuzetno je bogat i lako se koristi,
2. Predstavlja zaokruženo rešenje sa integrisanim razvojnim okruženjem Qt Creator, i dodatnim alatkama kao što je Qt Linguist za internacionalizaciju i raznim drugim,
3. Rešenja su mu jako dobra.
4. Gađa mnogo sistema - Windows, Gnu/Linux, OS X, iOS i android sa istim source-om.
5. Podržava još neke programske jezike (npr. python).
6. Open source čak i za komercijalnu upotrebu, pod nekim licencnim ograničenjima*, koja zadovoljavaju većinu potreba. Za ostale slučajeve postoji komercijalna licenca.

* Isporučuje se pod LGPL licencom, koja dozvoljava dinamičko povezivanje sa proizvoljno licenciranim modulima, s tim da

1. Qt-ovi dll-ovi se moraju isporučiti pod njihovom licencom. Tvoj exe možeš da zatvoriš i komercijalizuješ ako hoćeš. Drugim rečima, instalacija koja obuhvata Qt-ove dll-ove mora da ima obaveštenje da su ti fajlovi (navedeš tačno koji su Qt-ovi) pod tom licencom uz pun tekst licence. Paket možeš da prodaješ i da licenciraš ostatak kako hoćeš.
2. Korisnik može da pristupi source-u od Qt-a (za svoj exe ga ne moraš dati). S tim može da izmeni Qt i da koristi tvoj program sa izmenjenim dll-ovima. On mora da radi na istovetan način dokle god su izmene Qt-a API kompatibilne sa originalom**.
3. U slučaju da si isporučio svoj program sa izmenjenim Qt-om, moraš obezbediti source od takvog Qt-a kakav isporučuješ (sa izmenama). Source od svog exe fajla i drugih modula ne moraš da isporučuješ.

** Ovo korisnik može da upotrebi za praćenje poziva Qt funkcija, odnosno reverzni inženjering. Ne smeš pravno (svojom licencom) da ga sprečavaš u tome, jer je to deo njegovog prava u vezi sa Qt-om koji mu je dala digia (proizvođač Qt-a), a ti si pristao na to korišćenjem Qt-a. Možeš da sprečavaš druge vrste reverznog inženjeringa, kako pravno, tako i tehničkim merama, ali taj oblik reverznog inženjeringa ne smeš pravno da sprečavaš. Korisnik sme da izmeni Qt na API kompatibilan način i da koristi tvoj exe sa takvim izmenjenim Qt-ovim dll-ovima i tvoj exe mora da radi na istovetan način kao sa neizmenjenim dll-ovima.

Nedostatak Qt-a je što je glomazan. Mali program napravljen u njemu ima dosta megabajta.
[ Nedeljko @ 12.06.2016. 11:00 ] @
Citat:
Mord: Klasični C++ crno belo programiranje mi je nezanimljivo i mrtvo time se ne bih nikada bavio...

S tim da je neophodno da se prvo nauči C++ (baš tako pojednostavljeno), pa onda može da se cepa sa raznim dodacima.
[ Ronsky @ 26.08.2016. 21:42 ] @
Citat:
Mord:
I peto windows programing preko Win API-ja ili MFC je pakao...

Nije daleko od istine. Sto se tvog izbora C++/CLI-ja tice, toplo preporucujem da to napustis i posvetis se cistom C++-u.


[Ovu poruku je menjao Ronsky dana 26.08.2016. u 22:53 GMT+1]