Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

win32 compatabile

[es] :: C/C++ programiranje :: win32 compatabile

[ Pregleda: 4428 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mikky

Član broj: 18
Poruke: 1563
*.ptt.yu

ICQ: 44582291


+58 Profil

icon win32 compatabile01.08.2002. u 02:29 - pre 242 meseci
kako pisati program koji treba da se jednako izvrsava na svim win32 platformama
znaci win9x, me, nt, 2k, xp
zanima me u osnovi kako se to radi, da li se na pocetku programa proveri u kom os-u se izvrsava pa onda u zavisnosti od toga izvrsava jedan deo koda odnosno drugi
npr
if (os==win9x) win9x();
if (os==nt) nt();
if (os==xp) xp();

ovo mi izgleda nekako previse nepotrebnog koda, jer ce samo jedna fja da se izvrsi dok ostale ne, a ja hocu da program isporucim kao celinu a ne posebno za svaku verziju windowsa
ili se ovaj problem mozda drugacije resava?

takodje nisam siguran ni sta je xp tacno tj gde pripada vise, 9x ili nt familiji
-I know UNIX, PASCAL, C, FORTRAN,
COBOL, and nineteen other high-tech
words.
 
Odgovor na temu

MoHicAn

Član broj: 43
Poruke: 1893
*.yubc.net



Profil

icon Re: win32 compatabile01.08.2002. u 06:05 - pre 242 meseci
Ne znam zasigurno ali mislim da se windows program komunicira sa os-om preko standardizovanih api-a koji su isti na svim windozama tako da je relativno vecina stvari kompatibilna po defaultu na svim windowsima jedino neke os specifik stvari koje se ogledaju u razlikama izmedju nt i 9x itd.

PS: 9x serije medju sobom a i nt serial medju sobom su savrseno kompatibilni ako sam ja dobro skontao to je kao verzije linux kernel-a itd linux 2.2.20 = nt 4.0 linux 2.4.18 = nt 5 ........ taj fazon, a sto se tice XP-a pa on je officialy labeled sa nt 5.1 ili 5.01 ne znam tacno ...
 
Odgovor na temu

Ivan Dimkovic

Administrator
Član broj: 13
Poruke: 16266
*.telemaxx.net



+7094 Profil

icon Re: win32 compatabile01.08.2002. u 12:29 - pre 242 meseci
Postoje neke razlike u odredjenim API funkcijama, za to moras da konsultujes MSDN.

U svakom slucaju, za 95% korisnickog softvera ne trebaju nikakve posebne IF(OS==Win_nesto) - a za onih 5% svakako mozes da pogledas example kod koji jako lepo objasnjava kako se ponasati u takvim slucajevima.


DigiCortex (ex. SpikeFun) - Cortical Neural Network Simulator:
http://www.digicortex.net/node/1 Videos: http://www.digicortex.net/node/17 Gallery: http://www.digicortex.net/node/25
PowerMonkey - Redyce CPU Power Waste and gain performance! - https://github.com/psyq321/PowerMonkey
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: win32 compatabile01.08.2002. u 17:01 - pre 242 meseci
Ako hoćeš da ti program radi na svim verzijama Win32, koristi API funkcije koje su podržane na svim platformama (većina njih). NT specifične funkcije, kao što je npr CreateIoCompletionPort se ionako uglavnom koriste kod izrade server-side programa. Znači, kad hoćeš da koristiš neku API funkciju, najpre u MSDN-u proveri na kojim platformama je podržana. Npr za CreateWindows kaže:

Requirements
Windows NT/2000: Requires Windows NT 3.1 or later.
Windows 95/98: Requires Windows 95 or later.
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000.

To znači da ovu f-ju možeš da koristiš na svim 32-bitnim Windows-ima.

Uopšte uzev, ako nešto radi na Win95, radiće i na novijim sistemima.
 
Odgovor na temu

Voodoo
Novi Beograd

Član broj: 3508
Poruke: 488
*.yubc.net



+1 Profil

icon Re: win32 compatabile18.08.2002. u 20:27 - pre 242 meseci
Ako bas zelis, mozes koristiti GetVersionEx (opis potrazi u Win32 programmers reference) a kao rezultat dobijas X.XX.XXXX (Npr. 98 je 4.10.1998, 98SE je 4.10.2222, ME je 4.90.3000 itd.)
 
Odgovor na temu

Mikky

Član broj: 18
Poruke: 1563
*.ptt.yu

ICQ: 44582291


+58 Profil

icon Re: win32 compatabile19.08.2002. u 00:28 - pre 242 meseci
Citat:
Dragi Tata:
Requirements
Windows NT/2000: Requires Windows NT 3.1 or later.
Windows 95/98: Requires Windows 95 or later.
Header: Declared in Winuser.h; include Windows.h.
Library: Use User32.lib.
Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000.

To znači da ovu f-ju možeš da koristiš na svim 32-bitnim Windows-ima.

Uopšte uzev, ako nešto radi na Win95, radiće i na novijim sistemima.


cek ovo znaci da je funkcija implementirana u jednom istom obliku na svim win32?
znaci nema posebna verzija za nt a posebna za 9x?

ok recimo ovako hocu da koristim MessageBox
ali postoje dve verzije MessageBoxA i MessageBoxW

1. kako da u zavisnosti od os-a na kome je pokrenut program prikazem msgbox
znaci ovo nema veze sa compile time radom.... ono kako ce kompajler to da sredi tj na kojoj se masini kompajlira
#ifdefined UNICODE
#define MessageBox MessageBoxW
#else
#define MessageBox MessageBoxA
#endif


2. pitanje da li ovo A i W postoji sam kod funkcija koje barataju tim kodnim rasporedima (ili kako se vec zove) tj stringovima pa postoji unicode standard za 2 bajta po karakteru (NT) i ansi za 1 bajt (9x)
npr CreateFile()-u treba kao parametar string imena fajla
MessageBox()-u takodje treba kao parametar string
-I know UNIX, PASCAL, C, FORTRAN,
COBOL, and nineteen other high-tech
words.
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
..ndg-pm4-1.dialup.nethere.net



+6 Profil

icon Re: win32 compatabile19.08.2002. u 01:35 - pre 242 meseci
U principu ne treba previše da se sekiraš oko W i A verzija ako radiš u VC6 ili starijem. Jednostavno, ako eksplicitno ne definišeš UNICODE, sve funkcije će da se kompajliraju kao A verzija, a one će da rade i na NT mašinama, samo će performanse da im budu malo slabije, jer NT interno mora da konvertuje ASCII stringove u UNICODE. U VC7, UNICODE je definisan po default-u, ali uvek možeš da ga ukloniš.

Znači, MessageBoxA će da radi na svim 32-bitnim Windows-ima, samo će kod NT verzija da bude malo sporiji (što kod ove funkcije i onako nema nikakve veze).
 
Odgovor na temu

Milan Aksic

Član broj: 412
Poruke: 1053
*.ptt.yu



Profil

icon Re: win32 compatabile19.08.2002. u 02:07 - pre 242 meseci
Samo da dodam: A - ASCII, W - wide_char.
 
Odgovor na temu

dpanic
Darko Pavlovic

Član broj: 676
Poruke: 759
*.verat.net



Profil

icon Re: win32 compatabile19.08.2002. u 02:14 - pre 242 meseci
moze li meni ko reci kako da u linuxu odredim orkuznje, ja iako sam odredio u biblioteci sledece:
Code:

#ifdef LINUX
blablba
#elif Windows
blblbl
#else 
printf ("Uknown"\n);
#endif


on opet izabere nepoznati :) moze li mi ko pomoci?
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
..ndg-pm4-1.dialup.nethere.net



+6 Profil

icon Re: win32 compatabile19.08.2002. u 02:33 - pre 242 meseci
Čini mi se da je za Linux

#ifdef _LINUX

ali nemoj da mi veruješ na reč, nego proveri.

Za Windows je

#ifdef WIN32
 
Odgovor na temu

dpanic
Darko Pavlovic

Član broj: 676
Poruke: 759
*.verat.net



Profil

icon Re: win32 compatabile19.08.2002. u 02:38 - pre 242 meseci
u svakom slucaju hvala ti puno.
 
Odgovor na temu

jc denton

Član broj: 2358
Poruke: 1705
*.ptt.yu



Profil

icon Re: win32 compatabile19.08.2002. u 14:36 - pre 242 meseci
Citat:
Dragi Tata:
Ako hoćeš da ti program radi na svim verzijama Win32, koristi API funkcije koje su podržane na svim platformama ...


Da sve je to ok, samo recimo AlphaBlend radi otprilike duplo brze na W2k u odnosu na W98 ?

pozdrav

fire, walk with me
 
Odgovor na temu

Dragi Tata
Malo ispod Kanade

Član broj: 1958
Poruke: 3906
199.171.112.*



+6 Profil

icon Re: win32 compatabile19.08.2002. u 16:54 - pre 242 meseci
Ne razumem šta si hteo ovim da kažeš. AlphaBlend radi na W98 i novijim sistemima (ne na W95). Može biti da je brža na 2k nego na 98, ali radi i na jednom i na drugom.
 
Odgovor na temu

jc denton

Član broj: 2358
Poruke: 1705
*.ptt.yu



Profil

icon Re: win32 compatabile19.08.2002. u 17:37 - pre 242 meseci
Hteo sam da kazem da navedena funkcija radi brze - malo se ipak razlikuje :)
Evo uz poruku je zakaceno programce pisano u VB-u pomocu koga moze da se uoci razlika, naravno ko ima i W98 i W2k.

poz.
fire, walk with me
Prikačeni fajlovi
 
Odgovor na temu

[es] :: C/C++ programiranje :: win32 compatabile

[ Pregleda: 4428 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.