Hogyan kódot írsz, amely mind a 32 bites és 64 bites kompatibilis?

szavazat
0

Mi megfontolások van szükségem, hogy ha azt akarom, hogy kódot hibátlanul fut mind 32 és 64 bites platformokon?

EDIT: Milyen területeken van szükség, hogy vigyázzon a pl nyomdai húrok / karakterek vagy a szerkezetek?

A kérdést 28/08/2008 14:12
a forrás felhasználó
Más nyelveken...                            


9 válasz

szavazat
0

Gondolom még mindig beszélünk összeállítása őket külön-külön minden egyes platform? Ahogy fut, azokat mind teljesen megvalósítható által csak létre a 32 bites bináris.

Válaszolt 28/08/2008 14:13
a forrás felhasználó

szavazat
0

A legnagyobb ezek közül az ügyelve arra, hogy ne tegyen mutatókat figyelembe a 32 bites tárhelyek.

De nincs megfelelő nyelvi-agnosztikus 'válasz erre a kérdésre, de tényleg. Azt sem tudta, hogy egy különösen kemény választ, ha korlátozni magát valami, mint a hagyományos „C” vagy „C ++” - a méret az adatok tárolása, mutatók, stb., Mind rettenetesen végrehajtása függő.

Válaszolt 28/08/2008 14:14
a forrás felhasználó

szavazat
1

Az egyik megoldás az lenne, hogy a cél egy virtuális környezetben fut mindkét platformon (Gondolok Java vagy .Net itt).

Vagy válasszon egy értelmezett nyelv.

Van más követelmények, mint például hívó meglévő kódot, illetve a könyvtárak?

Válaszolt 28/08/2008 14:14
a forrás felhasználó

szavazat
1

Ugyanazokat a dolgokat meg kell már csinál végig, hogy biztosítsák írsz hordozható kódot :)

mozilla iránymutatások és a C gyik jó kiindulási pontok

Válaszolt 28/08/2008 14:15
a forrás felhasználó

szavazat
0

Ez tényleg attól függ, hogy a nyelv, mert sikerült nyelvek, mint a C # és Java vagy Szkriptnyelvek mint a JavaScript, Python vagy PHP van zárva, hogy a jelenlegi módszertan és az induláshoz, és bármit túl a fejlett cucc nincs sok aggódni .

De én hiszem, hogy Ön érdeklődik a nyelvek, mint a C ++, C, és más alacsonyabb szintű nyelven.

A legnagyobb dolog, amit meg kell aggódnia, hogy a méret a dolgok, mert a 32-bites világ akkor csak az erejét 2 ^ 32 azonban a 64 bites világban a dolgok nagyobb 2 ^ 64.

A 64 bites van egy nagyobb teret memória és tároló RAM, és akkor számítani nagyobb számban. Azonban, ha tudja, hogy összeállítása a 32 és 64, meg kell győződnie arról, hogy korlátozzák a várakozásokat a rendszer a 32 bites világban és korlátait pufferek és számokat.

Válaszolt 28/08/2008 14:17
a forrás felhasználó

szavazat
2

Opciók:

Kódot, hogy valamilyen nyelven egy Virtual Machine (például Java)

Kód azt NET és nem céloz adott architektúra. A .NET JIT fordító fogja fordítani, hogy a megfelelő architektúra futtatása előtt.

Válaszolt 28/08/2008 14:17
a forrás felhasználó

szavazat
0

A C (és talán a C ++) mindig emlékezni kell használni a sizeof operátor kiszámításakor puffer méretek malloc. Így lesz írni több hordozható kódot egyébként, és ez automatikusan veszi 64bit adattípusok figyelembe.

Válaszolt 28/08/2008 14:18
a forrás felhasználó

szavazat
0

A legtöbb esetben az egyetlen dolog, amit meg kell tennie, csak fordítsa le a kódot mindkét platformon. (És ez feltételezve, hogy az Ön által használt egy összeállított nyelvet, ha nem, akkor valószínűleg nem kell aggódnia semmit.)

Az egyetlen dolog, azt hiszem, hogy problémát okozhat feltételezzük, hogy a méret a adattípusok, ami az, amit valószínűleg nem kell ezzel egyébként. És természetesen semmi írt assembly fog problémát okozhat.

Válaszolt 28/08/2008 14:19
a forrás felhasználó

szavazat
0

Tartsuk észben, hogy sok fordító választhat az egész számok alapján a belső felépítés, tekintettel arra, hogy az „int” kell a leggyorsabb szám manipulátor a rendszerben (Egyes elméletek szerint).

Ez az, amiért olyan sok programozó használja typedefs számára a legtöbb hordozható programokat - ha szeretnéd, hogy a munka minden 8 bites processzorok akár 64 bites processzorok meg kell ismernünk, hogy a C egyébként, int nem mereven meghatározott.

Pointerek egy másik terület, hogy legyen óvatos - ne használja hosszú, vagy hosszú, hosszú, vagy bármilyen különleges típusú, ha hegedülő a numerikus értéket a mutató - használja a megfelelő konstrukciót, amely, sajnos, változnak a fordítóprogram meg lefordítani ( ezért van, hogy van egy külön typedef.h fájl minden fordító használata).

-Adam Davis

Válaszolt 28/08/2008 14:27
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more