begin process at 2012 05 28 23:27:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Système

 > 

Autre

 > 

Creation fonction malloc


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Creation fonction malloc

lundi 13 novembre 2006 à 20:18:31 | Creation fonction malloc

LordBob

Membre Club
Bonjour a tous,
voila en cours on est en train de faire un TP sur la gestion de la mémoire et on doit programmer la fonction malloc. Pour la partie théorique aucun problème par contre pour la partie pratique, c'est la que les ennuies commence et je ne comprend pas spécialement comment programmer ce qui m'est demandé.
Par exemple voici le début du code:
char meme[TAILLE_MEM];
typedef struct descripteur
{
    int Taille_Zone;
    char occupe;
    descr *Prec;
    descr *Suiv;
}descr;

ensuite pour initialiser on fait:
descr *init(){ return((descr *)mem); }

donc ensuite on devrait avoir une liste simplement chainé reprensentant la mémoire et puis je dois pouvoir faire des allocations de mémoire et donc couper la liste en deux et retourné l'adresse de la zone mémoire libre.
mais je ne comprend vraiment pas comment faire pour faire que que ce soit avec ce qui m'est renvoyer par la fonction init().

Pourriez-vous m'aider svp.
Merci par avance.
Bob...
"Vaut mieux se taire et passer pour un con, que de l'ouvrir et ne laisser aucun doute sur le sujet..."
lundi 13 novembre 2006 à 20:37:23 | Re : Creation fonction malloc

vecchio56

Administrateur CodeS-SourceS
Comment ta fonction doit elle être appelée de l'extérieur? Exactement comme la fonction malloc?
A quoi sert ta fonction init?

_____________________________________
Un éditeur de ressources gratuit pour Windows

lundi 13 novembre 2006 à 20:43:36 | Re : Creation fonction malloc

LordBob

Membre Club
en gros la fonction init me permet de récupérer un gros bloque mémoire qu'une fonction AllouerZone, "partage" pour en donné a un programme qui en fait la demande. La fonction init permet de récupéré ce gros bloc dans un descripteur (mais la le code vient de mon prof et non de moi).
Ensuite je dois faire une fonction:
AllouerZone(int taille) qui retourne l'adresse de l'espace nécessaire disponible suivant l'algo du first-fit.
Bob...
"Vaut mieux se taire et passer pour un con, que de l'ouvrir et ne laisser aucun doute sur le sujet..."
lundi 13 novembre 2006 à 21:19:35 | Re : Creation fonction malloc

vecchio56

Administrateur CodeS-SourceS
Oui mais qui l'appelle cette fonction init?
De plus, je la trouve pas bonne, pourquoi mem n'est pas initialisé? J'aurais plutot vu un truc comme ca pour init:
descr *init()
{
  descr* d = (descr*)mem;
  d->Taille_Zone = TAILLE-MEM - sizeof *d;
  d->occupe = 0;
  d->Prec = d->Suiv = 0;
}
Pas d'accord?
_____________________________________
Un éditeur de ressources gratuit pour Windows

lundi 13 novembre 2006 à 23:27:34 | Re : Creation fonction malloc

LordBob

Membre Club
alors en fait l'initialisation se fait lors de  la premiere insctruction du main() pour initialiser ce qui devrait etre la tete de la liste me permettant de gérer les bloc de mémoire.
ensuite je suis d'accord avec toi pour l'initialisation. Mais les bouts de code que je t'ai mis plus haut est ce que nous as écrit le prof, et je ne comprend pas trop comment faire avec cela. Mais bon sinon ne te casse pas la tete, je verrai avec mon prof quand je le verrai et il m'expliquera et on verra a ce moment la...
Bob...
"Vaut mieux se taire et passer pour un con, que de l'ouvrir et ne laisser aucun doute sur le sujet..."


Cette discussion est classée dans : fonction, creation, mémoire, malloc, descr


Répondre à ce message

Sujets en rapport avec ce message

Question sur l'allocation de mémoire... [ par kod32 ] Salut,j'ai une question concernant l'allocation de mémoire et notamment l'utilisation de la fonction malloc. Cette fonction permet de pointer vers un creation de box [ par mycameleon ] salut tout le monde je cherche une fonction qui me permet de réaliser avec le langage c++un cadre ou un (Box).et aussi si possible une fonction qui me creation d'un sapin en language C [ par Ekin_chan ] votre fonction devra etre prototypee comme suit: void sapin(int taille); Fonction(s) autorisee(s): my_putchar < Prob lecture adresse mémoire [ par xmaz57000 ] Voilà je viens de recevoir un ordinateur industriel qui dispose en standard de 8 entrées TOR.Malheureusement, il n'y a aucun driver qui permet de récu malloc??? [ par vangeurmasker ] existe-t-il une fonction permettant de connaitre la taille de mémoire réservée a un pointeur a l'aide des fonction malloc et realloc. ou est-on obligé Problème avec la fonction free dans visual basic. [ par tobi222 ] J'ai créé une liste chainée toute simple avec où j'alloue de la mémoire dynamiquement et à la fin lorsque je détruis cette liste avec free visual m'en malloc (ms vc++) [ par DeadlyPredator ] Bonjour,J'ai une fonction:char*  _fastcall strLeft(const char* lpszString, const long nLength) { char* lpszBuffer; lpszBuffer=(char*)malloc(nLength+1) Bouffage de mémoire :( [ par max12 ] http://www.cppfrance.com/code.aspx?ID=31739 Le problème se trouve au niveau de la fonction void TraitementPacket(int par Pb d'allocation mémoire malloc [ par oz80 ] Bonjour à tous, j'ai un problème d'allocation de mémoire je pense. Je déclare une variable comme ceci : <TBOD creation de fichier par un .lib [ par kian5476 ] Bonjour,J'ai une application console qui fonctionne tres bien et qui genere un fichier.J'ai transforme le main de ce programme en fonction classique p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,437 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales