Alloc.3
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:3k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1995-1996 Sun Microsystems, Inc.
  3. '"
  4. '" See the file "license.terms" for information on usage and redistribution
  5. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  6. '" 
  7. '" RCS: @(#) $Id: Alloc.3,v 1.8 2002/10/09 09:38:38 dkf Exp $
  8. '" 
  9. .so man.macros
  10. .TH Tcl_Alloc 3 7.5 Tcl "Tcl Library Procedures"
  11. .BS
  12. .SH NAME
  13. Tcl_Alloc, Tcl_Free, Tcl_Realloc, Tcl_AttemptAlloc, Tcl_AttemptRealloc, ckalloc, ckfree, ckrealloc, attemptckalloc, attemptckrealloc - allocate or free heap memory
  14. .SH SYNOPSIS
  15. .nf
  16. fB#include <tcl.h>fR
  17. .sp
  18. char *
  19. fBTcl_AllocfR(fIsizefR)
  20. .sp
  21. void
  22. fBTcl_FreefR(fIptrfR)
  23. .sp
  24. char *
  25. fBTcl_ReallocfR(fIptr, sizefR)
  26. .sp
  27. char *
  28. fBTcl_AttemptAllocfR(fIsizefR)
  29. .sp
  30. char *
  31. fBTcl_AttemptReallocfR(fIptr, sizefR)
  32. .sp
  33. char *
  34. fBckallocfR(fIsizefR)
  35. .sp
  36. void
  37. fBckfreefR(fIptrfR)
  38. .sp
  39. char *
  40. fBckreallocfR(fIptr, sizefR)
  41. .sp
  42. char *
  43. fBattemptckallocfR(fIsizefR)
  44. .sp
  45. char *
  46. fBattemptckreallocfR(fIptr, sizefR)
  47. .SH ARGUMENTS
  48. .AS char *size
  49. .AP int size in
  50. Size in bytes of the memory block to allocate.
  51. .AP char *ptr in
  52. Pointer to memory block to free or realloc.
  53. .BE
  54. .SH DESCRIPTION
  55. .PP
  56. These procedures provide a platform and compiler independent interface
  57. for memory allocation.  Programs that need to transfer ownership of
  58. memory blocks between Tcl and other modules should use these routines
  59. rather than the native fBmalloc()fR and fBfree()fR routines
  60. provided by the C run-time library.
  61. .PP
  62. fBTcl_AllocfR returns a pointer to a block of at least fIsizefR
  63. bytes suitably aligned for any use.
  64. .PP
  65. fBTcl_FreefR makes the space referred to by fIptrfR available for
  66. further allocation.
  67. .PP
  68. fBTcl_ReallocfR changes the size of the block pointed to by
  69. fIptrfR to fIsizefR bytes and returns a pointer to the new block.
  70. The contents will be unchanged up to the lesser of the new and old
  71. sizes.  The returned location may be different from fIptrfR.
  72. .PP
  73. fBTcl_AttemptAllocfR and fBTcl_AttemptReallocfR are identical in
  74. function to fBTcl_AllocfR and fBTcl_ReallocfR, except that
  75. fBTcl_AttemptAllocfR and fBTcl_AttemptReallocfR will not cause the Tcl
  76. interpreter to fBpanicfR if the memory allocation fails.  If the
  77. allocation fails, these functions will return NULL.  Note that on some
  78. platforms, attempting to allocate a block of memory will also cause
  79. these functions to return NULL.
  80. .PP
  81. The procedures fBckallocfR, fBckfreefR, fBckreallocfR,
  82. fBattemptckallocfR, and fBattemptckreallocfR are implemented
  83. as macros.  Normally, they are synonyms for the corresponding
  84. procedures documented on this page.  When Tcl and all modules
  85. calling Tcl are compiled with fBTCL_MEM_DEBUGfR defined, however,
  86. these macros are redefined to be special debugging versions of 
  87. of these procedures.  To support Tcl's memory debugging within a
  88. module, use the macros rather than direct calls to fBTcl_AllocfR, etc.
  89. .SH KEYWORDS
  90. alloc, allocation, free, malloc, memory, realloc, TCL_MEM_DEBUG