> Azt tudom, hogy Windows 9x es Windows XP programokat
> legtobbszor C++ -ban irjak, de lehet C nyelven is ilyen
> programokat irni? Olyanra gondolok, ami pl kinyit egy kis
> ablakot, belerak menuket meg gombokat, szoveget, stb...
A Windows API (Application Programming Interface) elsodlegesen tamogatott
nyelve a C. Ez azon eljarasok gyujtemenye amit a windows egy program szamara
meghivhatova tesz. A windows apinak harom alapveto 'pillere' van ha lehet
igy mondani: az elso ugye a rengeteg meghivhato fuggveny ;) a masodik a
handle (egy leiro ami valamilyen rendszerobjektumot azonosit pl. ablak,
mutex, event, process, gdi objektumok stb. szoval minden amit el tudsz
kepzelni igy elso blikkre). A harmadik az un. 'callback' mechanizmus ami
azt jelenti, hogy ha a win 'szolni' akar a programnak valami okbol
kifolyolag
akkor meghiv egy elozetesen regisztralt fuggvenyt.
A c++ ugye felulrol kompatibilis a c-vel es mivel a windows rendszerszinten
objektumorientalt semmi akadalya egy 'wrapper' c++ osztaly letrehozasanak
ami elrejti a winapi funkciokat es pl. egy ablaknak egy c++ objektumot
feleltet meg. Igy mukodik pl. a sokak altal kedvelt MFC (ms foundation
classes) es nagyjabol hasonlokeppen a tobbi is (atl/wtl/wxwindows stb.).
Ha Te magad szeretnel mindenfajta keretrendszer nelkul c++-ban programot
irni azt is megteheted. Altalaban veve el lehet mondani, hogy c++-ban
kenyelmesebb dolgozni a c viszont hatekonyabb lehet. Mindent amit meg tudsz
csinalni c-ben azt meg tudod c++-ban is.
Elsore mindenkepp azt ajanlom, hogy ertsd meg a windows mukodeset (C-ben
programozva) es utana sokkal jobban at fogod latni az ilyen oo
keretrendszerek mukodeset mint forditva. Persze a c++ programozas nem csak
arrol szol, hogy hasznalod az mfct mondjuk hanem arrol, hogy a programod
szemlelete is objektumorientalt.
> Ha igen, tudna valaki mondani nekem egy cimet, ahol ilyen
> pelda programokat talalok (a forras kod erdekel).
> Milyen C forditot vasaroljak?
> A masik gond az, hogy nem tudom, hogy hol talalok olyan LIB fajlokat,
Nehany link ha nem csak nezegelodni szeretnel hanem forditani is:
Visual C++ Toolkit (ms C/C++ fordito sajat celra szabadon hasznalhato)
http://www.microsoft.com/downloads/details.aspx?FamilyId=272BE09D-40BB-49FD-9CB
0-4BFA122FA91B&displaylang=en
Platform SDK (api headerek + libek)
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/default.htm?p=/msdown
load/platformsdk/sdkupdate/home.htm
Visual Studio 6 peldaprogramok
http://www.microsoft.com/downloads/details.aspx?FamilyID=af0a6060-6566-408f-9f1
1-ea2c80b8caa0&DisplayLang=en
Dokumentacio (azon belul is foleg a system services fog erdekelni)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnanchor/html/
anch_win32com.asp?frame=true
Debugger (windbg)
http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx
> Windows 98-as programok keszitesehez jo a Borland C++ 3.1 is?
Nem az csak dos-os exeket kreal. Van ujabb verzioja is (ha jol tudom
az 5.5os verziot mar ingyenesse tettek) ami tud windows exeket kesziteni.
> Pl C nyelvben hogyan csinalok olyan programot, amely 10 masodpercig
> kirak egy ablakot a kepre es utana eltunteti az ablakot es vege a
> programnak?
Talalni fogsz a peldaprogramok kozott hasonlokat szerintem. Kulcsszavak:
CreateWindow, SetTimer, PostMessage, WM_CLOSE.
> (Ezt kerdeztem magamtol: Melyik a legegyszerubb es legjobb nyelv,
> amivel bonyolult es gyors Windows programokat lehet irni?
> Az en valasztasom a C nyelv, mivel azt mar ismerem.
Jo valasztas. Bar en kicsit elfogult vagyok :)
Azert hozza tartozik az igazsaghoz, hogy a 'bonyolult' programokat altalaban
COM-ot hasznalnak (Component Object Model) ami egy binaris hivasi konvencio
es az 'interfeszeket' a c++ pure virtual osztaly hivasi konvencioival lehet
elerni. Ez nem azt jelenti, hogy azt nem lehet C-ben programozni de c++-ban
joval kenyelmesebb. Ujabban nehany rendszerszolgaltatas csak igy erheto el.
Egyebkent meg valamelyik a sok nyelv kozul. Feladatja valogatja. Itt nem
nagyon van olyan, hogy legjobb de sztem a c++ mar kozeliti.
> A Java nem nagyon ismeros, de tudom rola, hogy jo lassu
> programokat lehet vele csinalni, ugyhogy az nem erdekel annyira.
A javanak nem elsosorban a sebesseg az elonye hanem az, hogy tobb
platformon is fut a java virtualis gep segitsegevel. Tehat ha megirsz
egy java programot akkor az nagyjabol mindenutt futni fog ahol van
java futtatokornyezet.
> A Visual Basic meg Visual akarmi azok szinten lassu kodot csinalnak.
Ezeknek is megvan a legjogosultsaguk. Ez sem elsosorban a futasi
sebessegre osszpontosit. Ha gyorsan akarsz programot fejleszteni akkor
hamarabb celt ersz mint c++-al. Meg persze semmi akadalya c-ben irt
eljarasok hasznalatanak.
> A C++ nem ismerem, de ugy tudom, hogy ez meg
> bonyolultabb mint a Java, ugyhogy ez nem annyira erdekel.)
Ha ezt elobb olvasom akkor nem nepszerusitenm annyira ;)
Udv,
Panga
|
Hello HIX,
Igen lehet 9x/XP C nyelven programozni
>minden DOS-os program sokkal lassabb a Windows XP alatt mint a
>Windows 98 alatt.
Igen a mert a Dos ( a W98 gyakorlatilag csak egy DOS grafikus
héjprogrammal ) az egy 1 felhasználós és egy taszkos operációs
rendszer. Ha elindítod a programod, akkor minden erőforrás azt
szolgálja. A windows XP viszont más szemléletű és több felhasználós,
multitaszkos OP rendszer. És szó nélkül elveszi a proceszor idődet, ha
olyanja van.
>> Milyen C forditot vasaroljak?
Microsoft vagy Borland amelyik szimpatikusab.
Ingyenes megoldás a gcc lehet
>> Melyik a legegyszerubb es legjobb nyelv,
Az autovezetéshez a kreszt kell tanulnod.
A programozáshoz a programozói gondolkodást.
Az autovezetéshez ismerned kell az auto kezelését, ha át ülsz egy
másikba ott néhány dolog másképp müködik. De a közlekedési szabályok
úgyan azok.
A programozáshoz ismerned kell egy nyelvet, de ha másik nyelvet
használsz, elsőre legfeljebb lassaban megy.
Buszban is lehet földet szállítani, csak nem erre találták ki.
Egyes nyelvek felhsználhatósága is változik a feladattól függően.
sok sikert
hS
|