Annotation of OpenXM_contrib2/asir2000/gc/README.QUICK, Revision 1.3
1.1 noro 1: Copyright 1988, 1989 Hans-J. Boehm, Alan J. Demers
1.2 noro 2: Copyright (c) 1991-1995 by Xerox Corporation. All rights reserved.
3: Copyright (c) 1996-1999 by Silicon Graphics. All rights reserved.
1.3 ! noro 4: Copyright (c) 1999-2000 by Hewlett-Packard. All rights reserved.
1.1 noro 5:
6: THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
7: OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
8:
9: Permission is hereby granted to use or copy this program
10: for any purpose, provided the above notices are retained on all copies.
11: Permission to modify the code and to distribute modified code is granted,
12: provided the above notices are retained, and a notice that the code was
13: modified is included with the above copyright notice.
14:
15: For more details and the names of other contributors, see the
1.3 ! noro 16: doc/README* files and include/gc.h. This file describes typical use of
1.1 noro 17: the collector on a machine that is already supported.
18:
1.3 ! noro 19: For the version number, see doc/README or version.h.
! 20:
1.1 noro 21: INSTALLATION:
1.3 ! noro 22: Under UN*X, type "make test". Under OS/2 or Windows 95, 98, Me, NT, or 2000,
! 23: copy the appropriate makefile to MAKEFILE, read it, and type "nmake test".
! 24: (Under Windows, this assumes you have Microsoft command-line tools
! 25: installed, and have DOS configured with enough environment space to run them.)
! 26: Read the machine specific README in the doc directory if one exists.
! 27: The only way to develop code with the collector for Windows 3.1 is
! 28: to develop under Windows NT or 95+, and then to use win32S.
! 29:
! 30: If you need thread support, you will need to either follow the special
! 31: platform-dependent instructions (win32), or add a suitable define
! 32: option as described in Makefile.
1.1 noro 33:
1.3 ! noro 34: If you wish to use the cord (structured string) library, type
1.1 noro 35: "make cords". (This requires an ANSI C compiler. You may need
1.3 ! noro 36: to redefine CC in the Makefile. The CORD_printf implementation in
! 37: cordprnt.c is known to be less than perfectly portable. The rest
! 38: of the package should still work.)
1.1 noro 39:
40: If you wish to use the collector from C++, type
41: "make c++". These add further files to gc.a and to the include
1.3 ! noro 42: subdirectory. See cord/cord.h and include/gc_cpp.h.
1.1 noro 43:
44: TYPICAL USE:
1.3 ! noro 45: Include "gc.h" from the include subdirectory. Link against the
! 46: appropriate library ("gc.a" under UN*X). Replace calls to malloc
! 47: by calls to GC_MALLOC, and calls to realloc by calls to GC_REALLOC.
! 48: If the object is known to never contain pointers, use GC_MALLOC_ATOMIC
! 49: instead of GC_MALLOC.
1.1 noro 50:
51: Define GC_DEBUG before including gc.h for additional checking.
1.3 ! noro 52:
! 53: More documentation on the collector interface can be found at
! 54: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gcinterface.html,
! 55: in doc/README, and in include/gc.h .
! 56:
! 57: WARNINGS:
! 58:
! 59: Do not store the only pointer to an object in memory allocated
! 60: with system malloc, since the collector usually does not scan
! 61: memory allocated in this way.
! 62:
! 63: Use with threads may be supported on your system, but requires the
! 64: collector to be built with thread support. See Makefile. The collector
! 65: does not guarantee to scan thread-local storage (e.g. of the kind
! 66: accessed with pthread_getspecific()). The collector does scan
! 67: thread stacks though, so generally the best solution is to ensure that
! 68: any pointers stored in thread-local storage are also stored on the
! 69: thread's stack for the duration of their lifetime.
1.1 noro 70:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>