Recenze  |  Aktuality  |  Články
Doporučení  |  Diskuze
Auto-Moto
Mobilní telefony
Notebooky  |  Tablety
Příslušenství
Wearables  |  Ostatní
Svět hardware  |  Digimanie  |   TV Freak

PPC 2002 vs. PPC 2003

Radius_ce4you (16)|12.1.2004 13:31
Mam pouze jednoduchy dotaz (doufam ;) ) Zajimalo by me, zda je mozne vytvorit v EVC++ 4.0 program, ktery by fungoval jak na PPC 2002 tak i na PPC 2003. Zatim pouzivam EVC++ 3.0, ale chtel bych programy testovat i pro novejsi platformy. Bude program zkompilovany v EVC++ 4.0 fungovat i na PPC 2002?
Diky za objasneni.
eXEden_ce4you (811)|12.1.2004 14:27
Ta možnost tu je. Kompilace se dá řídit díky direktivám kompilera. Z hlavy si to nepamatuju, ale když zapátrám v paměti, možná něco najdu. Podívám se a kdyžtak sem něco hodím ;)

A jinak program zkompilovaný v EVC++4.0 nebude fungovat pod jiným OS než je WM2003 ... bohužel ...
eXEden_ce4you (811)|12.1.2004 15:05
Takže je to takhle:

1) existuje direktiva linkeru, která není dokumentovaná /subsystem=windowsce,3.00
2) tohle má ale svoje jistá omezení:
- eVC++ 4.0 nepodporuje emulátor pro WM2002 (z eVC++ 3.0)
- musí se dávat pozor na API. API pro WM2003 (.NET) se musí z takového projektu odstranit (opět se řídí pomocí direktiv, #if UNDER_CE>=420)
- dalším problémem můžou být hlavičkové soubory s deklarací konstant. Např. NM_RECOGNIZEGESTURE je v eVC++ 4.0 deklarováno jako NM_FIRST - 50 ale v eVC++ 3.0 jako NM_FIRST - 16. Tohle může způsobit nefunkčnost některých věcí.
- do projektu stačí vložit novou konfiguraci, která bude vycházet z CPU "Win32 (WCE ARMV4)" a bude kopií release verze Vašeho projektu pro ARMV4 a pojmenuje se třeba ReleaseCE30.
- v Project/Settings na záložce C/C++ v Preprocessor definitions nahraďte hodnotu UNDER_CE z 420 na 300
- v Project/Settings na záložce Link je ještě potřeba změnit onu zmiňovanou direktivu (v Project Options dole) na /subsystem=windowsce,3.00

Jak vidíte není to jednoduchý. Osobně raději kompiluji projekty dvakrát a mám tak zaručenou kompatibilitu nehledě na optimalizaci pro daný OS. Aplikace zkompilované v eVC++ 3.0 Vám budou v 98-mi procentech fungovat i pod WM2003

Hodně štěstí...;)
jkarasek_ce4you (22)|13.1.2004 23:01
Bohuzel me se stalo trosku neco jineho. Ja jsem si "blb" nainstaloval aniz bych si neco pred tim precetl eVC 4.0 a zacal jsem programovat. Pak ale bylo nutne aby program fungoval i pro PPC 2002. No a zde byl kamen urazu. Jak jsem docetl u Microsoftu, tak v eVC 4.0 bohuzel neudelam program aby chodil na PPC 2002. Nechal jsem to u ledu s tim ze to eVC 4.0 casem odinstaluji a pak nainstaluji eVC 3.0 a na to pak jeste jednou to eVC 4.0. Nejsem z toho teda prilis nadseny. Zkusim i tuto tajnou featurku s tim preprocesorem atd. a uvidim, ale nezda se mi to jako prilis ciste reseni. Neslo by nainstalovat eVC 3.0 na jiz nainstalovane eVC 4.0? Nepopere se to? Super by bylo kdyby se do eVC 4.0 dalo nainstalovat i SDK pro 2002 a ja si mohl pekne vybirat mezi platformou pro kterou chci kompilovat. Jenze predpokladam ze to asi nepujde.

Jiri Karasek
eXEden_ce4you (811)|14.1.2004 07:50
Samozřejmě můžete mít nainstalována obě prostředí tak, aby jste mohl vyvíjet i pro PocketPC2002. Je potřeba dát si pozor na pořadí instalace. Více se dozvíte v tomto článku