summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-01-20 22:50:05 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-01-20 22:50:05 +0000
commit8d1fbc991cdaf266fb65adfbe247dcc2375d342b (patch)
treeeed3ab65b8199d1ba9e771360bdb73eabf269411
parent4459522c48c5d39fc8fe5773dff44282ce5bb339 (diff)
downloadperl-8d1fbc991cdaf266fb65adfbe247dcc2375d342b.tar.gz
Memory management calls documentation.
p4raw-id: //depot/perl@8492
-rw-r--r--pod/perlguts.pod32
1 files changed, 21 insertions, 11 deletions
diff --git a/pod/perlguts.pod b/pod/perlguts.pod
index f38bba37a0..924e993964 100644
--- a/pod/perlguts.pod
+++ b/pod/perlguts.pod
@@ -1357,17 +1357,27 @@ function).
Here is a handy table of equivalents between ordinary C and Perl's
memory abstraction layer:
- Instead Of: Use:
-
- malloc New
- calloc Newz
- realloc Renew
- memcopy Copy
- memmove Move
- free Safefree
- strdup savepv
- strndup savepvn (Hey, strndup doesn't exist!)
- memcpy/*(struct foo *) StructCopy
+ Instead Of: Use:
+
+ t* p = malloc(n) New(id, p, n, t)
+ t* p = calloc(n, s) Newz(id, p, n, t)
+ p = realloc(p, n) Renew(p, n, t)
+ memcpy(dst, src, n) Copy(src, dst, n, t)
+ memmove(dst, src, n) Move(src, dst, n, t)
+ free(p) Safefree(p)
+ strdup(p) savepv(p)
+ strndup(p, n) savepvn(p, n) (Hey, strndup doesn't exist!)
+ memcpy/*(struct foo *) StructCopy(src, dst, t)
+
+ t type
+ p pointer
+ ck cookie for the memory region (now unused)
+ n number of elements
+ src source pointer
+ dst destination pointer
+
+Notice the different order of arguments to C<Copy> and C<Move> than used
+in C<memcpy> and C<memmove>.
=head2 PerlIO