Présentation
Documentation
L'équipe
Sérialisation
 
Programmes
Objets
Libs Utilitaires
Libs Internes
   
 
Editeur
Syntaxes
Windows
Versions
   

SCR/AL1 - TOME III. Les librairies utilitaires

6. Le groupe s_swap

6.3 SW_alloc (file s_swallc.c:54)

Syntax

SWHDL SW_alloc(size)
SWSIZE size;

Description

Fonction d'allocation d'un bloc de mémoire de size bytes. La taille maximum d'un bloc est de 16K - 4 (SW_BLK_SIZE - 4), soit 16380 bytes. size est arrondi au nombre pair de bytes supérieur.

Pour obtenir le pointeur en mémoire, utilisez SW_getptr.

Le nombre maximum d'allocation est de 32000.

Si la machine dispose de mémoire étendue et que le driver EMS est installé, la mémoire EMS est utilisée en premier pour les allocations. Ensuite, la mémoire conventionnelle est utilisée tant qu'il reste SW_MIN_MEM bytes libres. Cette variable peut être modifiée par l'utilisateur.

Enfin, un fichier est créé sur disque pour contenir les blocs supplémentaires. La variable d'environnement SWAPFILE contient le nom de ce fichier qui peut se trouver sur n'importe quel disque. Si SWAPFILE n'est pas défini, le fichier se trouvera sur le disque courant sous le nom SWAPFILE.SW.

Valeur retournée

SWHDL identifiant la partie de mémoire contenant l'espace.

Remarques

Voir également

SW_realloc(), SW_free(), SW_nalloc()

6.3.1 File s_swallc.c

SWHDL SW_alloc(size)
int SW_free(item)
char *SW_getptr(item)
char *SW_nalloc_doc(unsigned int size, char *file, int line)
char *SW_nalloc_orig(size)
int SW_nfree(ptr)
char *SW_nrealloc_doc(old_ptr, old_count, new_count, file, line)
char *SW_nrealloc_orig(old_ptr, old_count, new_count)
SWHDL SW_realloc(SWHDL item, SWSIZE size)

SW_nalloc_doc (file s_swallc.c:374)

Syntax

char *SW_nalloc_doc(unsigned int size, char *file, int line)

SW_nalloc_orig (file s_swallc.c:351)

Syntax

char *SW_nalloc_orig(size)
unsigned int size;

Description

Cette fonction effectue une allocation standard en mémoire conventionnelle à l'aide de malloc. S'il n'y a pas assez de mémoire disponible, les blocs créés par SW_alloc() sont déplacés en EMS ou sur fichier et libérés, pour permettre d'allouer quand-même la mémoire demandée.

La mémoire allouée est mise à zéro.

Voir également

SW_alloc(), SW_nrealloc(), SW_nfree()

SW_nrealloc_doc (file s_swallc.c:432)

Syntax

char *SW_nrealloc_doc(old_ptr, old_count, new_count, file, line)
void *old_ptr;
unsigned int old_count,
new_count;
char *file;
int line;

SW_nrealloc_orig (file s_swallc.c:404)

Syntax

char *SW_nrealloc_orig(old_ptr, old_count, new_count)
void *old_ptr;
unsigned int old_count,
new_count;

Description

Cette fonction effectue une réallocation standard en mémoire conventionnelle à l'aide de realloc(). S'il n'y a pas assez de mémoire disponible, les blocs créés par SW_alloc sont déplacés en EMS ou sur fichier et libérés, pour permettre d'allouer quand-même la mémoire demandée.

La mémoire supplémentaire allouée est mise à zéro.

Voir également

SW_nalloc(), SW_nfree(), SW_realloc()

Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be