IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Free Pascal Discussion :

[Free Pascal] Limite de mémoire


Sujet :

Free Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Par défaut [Free Pascal] Limite de mémoire
    Bonjour,

    J'ai écrit un petit programme de comptabilité (pas fini ..) et je charge un fichier CSV dans des tableaux.

    Je n'ai pas de problème mais je me demande si un jour ça ne va pas exploser en mémoire vu que j'ai alloué 65535 lignes par tableau......

    Alors ma question est simple : comment savoir l'espace mémoire encore disponible ?

    NB je suis sous Freepascal et en DOS natif ou en console Dos sous win98

    merci.

  2. #2
    Membre Expert
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Par défaut Re: limite de mémoire
    Bonjour,

    Citation Envoyé par JoseF
    je me demande si un jour ça ne va pas exploser en mémoire vu que j'ai alloué 65535 lignes par tableau

    Alors ma question est simple comment savoir l'espace mémoire encore disponible ?
    Tout dépend de la manière dont la mémoire est allouée : statique ou dynamique ?

  3. #3
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    De toute façon, en dynamique, la limite est de 640 Ko, donc autant dire que tu n'iras pas loin, si tes fichiers sont gros. Essaye de programme pour windows au lieu de DOS, dans ce cas, tu devrais avoir accès à plus de mémoire...

  4. #4
    Membre Expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Par défaut
    Citation Envoyé par wormful_sickfoot
    De toute façon, en dynamique, la limite est de 640 Ko
    Faux, c'est limite n'existe qu'en mode Dos réel. FreePascal fonctione quoiqu'il arrive en mode protégé 32 bits et permet donc en théorie d'adresser jusqu'à 4 Go de mémoire.

    La limite est en fait variable et va dépendre de l'utilisation actuelle de la RAM. Si tu es en mode Dos pur, sans couche Windows derrière, la limite sera la limite physique de la mémoire. Avec Windows derrière, il est possible que le système de swap entre en jeu : la mémoire maximale est donc égale à la mémoire physique plus la taille de la mémoire swap (= mémoire virtuelle). Toutefois, comme i ls'agit de W98, il est possible que le swap ne soit pas pris en compte.

    En un mot : oui, ça ne tiendra pas en mémoire ad vitam eternam. Le tout est de savoir dans quelle manière tu as besoin d'utiiser ton tableau et si tu as besoin de le laisser en mémoire en entier ou pas.

    @++

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 192
    Par défaut limite mémore
    bonjour,

    merci de vous interresser au sujet

    j'ai fait qq. tests et effectivement la barrre des 640K est franchie sans problèmes ! je peux allouer plusieurs Mo avec des area consequents.

    en dos natif je pense etre limité par la mémoire Physique RAM (himem installé bien sûr)

    en dos sous- couche de Windows 98 je ne sais pas si le swap entre en jeu..

    je ferais des essais et vous triendrai au courant

    en fait ma question était de savoir si une fonction existait pour me retourner la mémoire alllouée, utilisée et disponible.

    bien à vous

  6. #6
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    Je ne sais pas si elle existe sous Freepascal, mais tu peux essayer de regarder memavail ou maxavail (si je me rappelle bien)

  7. #7
    Membre Expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Par défaut Re: limite mémore
    Citation Envoyé par JoseF
    en fait ma question était de savoir si une fonction existait pour me retourner la mémoire alllouée, utilisée et disponible.
    Bonjour,

    Je crois que ce type de fonction n'existe pas avec les modes de gestion de la mémoire actuels. En effet, la fonction pourrait renvoyer la taille de la RAM encore libre, mais elle oublierait le Swap. Si on additionne la RAM libre et le Swap libre, c'est risqué, car d'autres applications peuvent récupérer la mémoire entre le moment où l'appel est fait et le moment où on alloue de la mémoire.

    En fait, pour savoir s'il y a assez de mémoire, à présent, on tente de l'allouer, et si l'appel échoue, c'est qu'il n'y en a plus...

    @++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Free Pascal] Pascal sous FreeBSD
    Par logiqueciel dans le forum Free Pascal
    Réponses: 5
    Dernier message: 23/09/2004, 20h06
  2. [Free Pascal] Graphique avec Dev-Pascal
    Par CompuTux dans le forum Free Pascal
    Réponses: 15
    Dernier message: 03/09/2004, 02h15
  3. [Free Pascal] Application client/serveur en Pascal
    Par zouzou_zaza dans le forum Free Pascal
    Réponses: 15
    Dernier message: 02/09/2004, 17h57
  4. [Free Pascal] Taille de l'exécutable
    Par macluvitch dans le forum Free Pascal
    Réponses: 12
    Dernier message: 28/11/2003, 21h26
  5. [Free Pascal] Comportement de Exec
    Par néo333 dans le forum Free Pascal
    Réponses: 3
    Dernier message: 01/11/2003, 17h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo