Imposer l'emplacement mémoire de certaines variables - C - Programmation
Marsh Posté le 01-05-2005 à 09:50:41
utilise un tableau, ou bien une structure "packé" peut-être ?
Marsh Posté le 01-05-2005 à 14:35:48
oué, une structure est forcement contigue en mémoire mais le compilo a le droit de laisser parfios des trois entre les membres. En utilisant les options de pack (la facon de faire depend de ton compilo) tu peux virer ces "trous"
Marsh Posté le 01-05-2005 à 14:49:51
chrisbk a écrit : oué, une structure est forcement contigue en mémoire mais le compilo a le droit de laisser parfios des trois entre les membres. En utilisant les options de pack (la facon de faire depend de ton compilo) tu peux virer ces "trous" |
Si l'architecture le permet et parfois au prix d'une réduction des performances...
Marsh Posté le 01-05-2005 à 14:53:42
ah bin c'est pas trop conseillé, generalement, mais parfois y'a besoin
Marsh Posté le 01-05-2005 à 15:41:28
chrisbk a écrit : ah bin c'est pas trop conseillé, generalement, mais parfois y'a besoin |
quand donc ?
Marsh Posté le 01-05-2005 à 17:02:17
++fab a écrit : quand donc ? |
parfois quand tu veux directement 'mapper' une structure à des données stockées dans un fichier (pratique déconseillée, cela dit)
Marsh Posté le 01-05-2005 à 19:01:56
Ou pour implémenter un protocole de communication, tout simplement.
Marsh Posté le 01-05-2005 à 19:51:09
ou pour faire des gratins de pomme de terre
Marsh Posté le 01-05-2005 à 19:54:16
vi, comme printf
Chrisbk : les patates au barbuc y a que ça de vrai !! ...
Marsh Posté le 01-05-2005 à 19:55:02
Citation : Chrisbk : les patates au barbu y a que ça de vrai |
t'as de drole de gout
Marsh Posté le 01-05-2005 à 20:09:49
Les structures packées sous la cendre, c'est super bon
Marsh Posté le 01-05-2005 à 20:27:21
avec du camembert fondu
mm c'est l'été c'est l'époque des barbeuks
Marsh Posté le 03-05-2005 à 14:13:47
Euh, une structure n'arrange rien.
En effet l'API utilise la variable xx directement. Or si je la mets dans une structure l'API devrait utiliser S.xx par exemple...
Marsh Posté le 03-05-2005 à 14:56:55
Caedes a écrit : Euh, une structure n'arrange rien. |
#define xx S.xx |
ou plutôt, car ce sera probablement un pointeur:
#define xx (pS->xx) |
Marsh Posté le 30-04-2005 à 23:57:22
Bonjour à tous !
Je programme en ce moment un petit logiciel en C sur ARM. Dans ce dernier j'utilise une librairie de décodage d'un fichier MP3 qui nécéssite une instance pour travailler. Cette dernière se déclare sous la forme
et ces 3 variables doivent être globales.
Sur la plateforme j'ai peu de RAM (32 Kb), cependant je bénéficie d'une RAM externe pour sauvegarder temporairement les instances de mon décodeur.
En fait j'ai besoin de sauvegarder mes instances en les copiant en RAM externe et les restituer par après. C'est très simple à faire. Cependant j'aimerais, lorsque les instances ont été sauvegardées, me servir de la place libre en RAM rapide pour faire autre chose. Et là j'ai besoin que la zone sont contigue.
Comment puis-je m'assurer que mes 3 variables xx, c1 et c2 soient bien l'une à côté de l'autre (hormis analyser à chaque fois le log du linker).
Si cette foutue lib fonctionnait avec des pointeurs j'aurais pu d'abord déclarer ma zone contigue et puis faire pointer l'instance dedans mais ici ce n'est pas possible.
J'espère que c'est clair
Merci
Message édité par Caedes le 01-05-2005 à 00:00:26