Aide - Recherche - Membres - Calendrier
Version complète : Faire une application de plus de 64k..(?)
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS
Destino
Salut à tous,

J'aimerais savoir comment faire pour avoir une application qui a un code source de plus de 64k.
J'utilise CW9.2 et mon appli à atteint les 62k en code source.
que faire pour avoir + svp? merci
Patrice
1) La limite n'est pas sur le source !!! (le Palm s'en fout royalement de ton source) icon_lol2.gif

2) Si ton code binaire dépasse 64 ko, il faut le découper en segments. Je n'ai aucune idée de la façon de faire sous CW...
Guy-Lux
Tu vas sur l'onglet "Segment", tu sélectionnes ton segment, tu vas dans le menu "Project", action "Create segment..." et tu glisses-déposes les éléments que tu veux placer dans ce nouveau segment.
Je ne sais pas si cela suffira, mais mon appli continue de fonctionner une fois compilée icon_biggrin.gif .
olivier101
C'est exactement comme l'a expliqué Guy-Lux... La répartition entre les différents segments est toutefois un peu aléatoire, la condition étant qu'un saut (appel de fonction) ne peut pas se faire à plus de 32K.

Il me semble aussi que parmi les options de compilation, il y a une option "large model" qui permet de s'affranchir de cette limite, au prix d'une technique différente de saut qui pénalise légérement chaque appel de fonction (en taille et temps).
oupsman
C'est la différence entre le saut relatif et le saut absolu.

L'instruction de saut standard du dragonball (Z) est le saut relatif, relativement rapide. Mais l'endroit à atteindre est codé sur 16 bits, ce qui fait de -32768 octets en arrière à 32767 octets en avant => la limite des 32k.

Le saut absolu n'est (si je ne m'abuse) jamais utilisé par le compilateur C (Prctools ou CW d'ailleurs), sauf en cas de saut intersegments (et l'utilisation du modele "Large" sous CW). C'est pour cela que les appels de fonctions inter-segments ralentissent énormément le déroullement normal d'un programme. Mais dans ce cas là, on fournit l'adresse complète, d'ou une instruction de saut plus grosse.

icon_bla.gif j'ai mal lu le post d'Olivier101. J'ai corrigé
Destino
merci bcp les gars. Vous êtes trop fort.Merci encore
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.