libs-base/Documentation/gsdoc/Base.html

189 lines
7.3 KiB
HTML
Raw Normal View History

<html><head>
<title>GNUstep Base</title>
</head>
<body>
<h1>GNUstep Base</h1>
<h3>Authors </h3>
<dl>
<dt><a href ="http://www.gnustep.org/developers/whoiswho.html">Richard Frith-Macdonald</a>
<dd>
</dl>
<p>Version: $Revision$</p>
<p>Date: $Date$</p>
<h2><a name ="cont-0">Base</a></h2>
<p>
The GNUstep base library is a free software package implementing
the API of the OpenStep Foundation Kit (tm), including later
additions.
</p>
<h3><a name ="cont-1">Compatibility</a></h3>
<p>
GNUstep is generally compatible with the OpenStep specification and
with recent developments of the MacOS (cocoa) API. Where MacOS
deviates from the OpenStep API, GNUstep generally attempts to
support both versions. In some cases the newer MacOS APIs are
incompatible with OpenStep, and GNUstep usually supports the richer
version.
</p>
<p>
In order to deal with compatiblity issues, GNUstep uses two
mechanisms - it provides conditionally compiled sections of
the library header files, so that software can be built that
will conform strictly to a particular API, and it provides
user default settings to control the behavior of the library
at runtime.
</p>
<h4><a name ="cont-2">Conditional compilation</a></h4>
<p>
Adding an option to a makefile to define one of the following
preprocessor constants will modify the API visible to software
being compiled -
</p>
<dl>
<dt>NO_GNUSTEP
<dd>
GNUstep specific extensions to the OpenStep and MacOS cocoa
APIs are excluded from the headers.
<dt>STRICT_MACOS_X
<dd>
Only methods and classes that are part of the MacOS cocoa
API are made available in the headers.
<dt>STRICT_OPENSTEP
<dd>
Only methods and classes that are part of the OpenStep
specification are made available in the headers.
</dl>
<h4><a name ="cont-3">User defaults</a></h4>
<p>
Setting the user default <code>GSMacOSXCompatible</code> to
<code>YES</code> will cause MacOS compatible behavior to be
the default at runtime. This default may however be overridden
to provide more fine grained control of system behavior.
</p>
<dl>
<dt>GSMacOSXCompatibleGeometry
<dd>
Specifies whether the functions for producing strings describing
geometrical structures (NSStringFromPoint(), NSStringFromSize(),
and NSStringFromRect()) should produce strings conforming to the
OpenStep specification or to MacOS-X behavior. The functions
for parsing those strings should cope with both cases anyway.
</dl>
<h4><a name ="cont-4">Environment variables</a></h4>
<p>
There are some environment variables used by GNUstep base, where
there would be problems onbtaining data from the defaults asystem.
</p>
<dl>
<dt>CRASH_ON_ABORT
<dd>
The default exception handler will either cause the program to
simply terminate, or to crash - leaving a core dump. The
standard behavior is to leave a core dump if the library was
built for debugging, and to simply exit if it was not.
<p>
The CRASH_ON_ABORT environment variable can be used to
override this behavior. If this is defined to <em>NO</em>,
<em>FALSE</em>, or <em>0</em> then the program will simply
exit when an exception occurs. Any other value of the
variable will cause the program to generate a core dump.
</p>
</dl>
<h3><a name ="cont-5">The Foundation classes</a></h3>
<ul>
<li><a href ="NSArchiver.html">NSArchiver</a>
<li><a href ="NSArray.html">NSArray</a>
<li><a href ="NSAssertionHandler.html">NSAssertionHandler</a>
<li><a href ="NSAttributedString.html">NSAttributedString</a>
<li><a href ="NSAutoreleasePool.html">NSAutoreleasePool</a>
<li><a href ="NSBundle.html">NSBundle</a>
<li><a href ="NSCalendarDate.html">NSCalendarDate</a>
<li><a href ="NSCharacterSet.html">NSCharacterSet</a>
<li><a href ="NSCoder.html">NSCoder</a>
<li><a href ="NSConditionLock.html">NSConditionLock</a>
<li><a href ="NSConnection.html">NSConnection</a>
<li><a href ="NSCountedSet.html">NSCountedSet</a>
<li><a href ="NSDate.html">NSDate</a>
<li><a href ="NSDateFormatter.html">NSDateFormatter</a>
<li><a href ="NSDecimalNumber.html">NSDecimalNumber</a>
<li><a href ="NSDecimalNumberHandler.html">NSDecimalNumberHandler</a>
<li><a href ="NSDeserializer.html">NSDeserializer</a>
<li><a href ="NSDictionary.html">NSDictionary</a>
<li><a href ="NSDirectoryEnumerator.html">NSDirectoryEnumerator</a>
<li><a href ="NSDistantObject.html">NSDistantObject</a>
<li><a href ="NSDistantObjectRequest.html">NSDistantObjectRequest</a>
<li><a href ="NSDistributedLock.html">NSDistributedLock</a>
<li><a href ="NSDistributedNotificationCenter.html">NSDistributedNotificationCenter</a>
<li><a href ="NSEnumerator.html">NSEnumerator</a>
<li><a href ="NSException.html">NSException</a>
<li><a href ="NSFileHandle.html">NSFileHandle</a>
<li><a href ="NSFileManager.html">NSFileManager</a>
<li><a href ="NSFormatter.html">NSFormatter</a>
<li><a href ="NSHost.html">NSHost</a>
<li><a href ="NSInvocation.html">NSInvocation</a>
<li><a href ="NSLock.html">NSLock</a>
<li><a href ="NSMethodSignature.html">NSMethodSignature</a>
<li><a href ="NSMutableArray.html">NSMutableArray</a>
<li><a href ="NSMutableAttributedString.html">NSMutableAttributedString</a>
<li><a href ="NSMutableCharacterSet.html">NSMutableCharacterSet</a>
<li><a href ="NSMutableData.html">NSMutableData</a>
<li><a href ="NSMutableDictionary.html">NSMutableDictionary</a>
<li><a href ="NSMutableSet.html">NSMutableSet</a>
<li><a href ="NSMutableString.html">NSMutableString</a>
<li><a href ="NSNotification.html">NSNotification</a>
<li><a href ="NSNotificationCenter.html">NSNotificationCenter</a>
<li><a href ="NSNotificationQueue.html">NSNotificationQueue</a>
<li><a href ="NSNull.html">NSNull</a>
<li><a href ="NSNumber.html">NSNumber</a>
<li><a href ="NSNumberFormatter.html">NSNumberFormatter</a>
<li><a href ="NSObject.html">NSObject</a>
<li><a href ="NSPort.html">NSPort</a>
<li><a href ="NSPortCoder.html">NSPortCoder</a>
<li><a href ="NSPortMessage.html">NSPortMessage</a>
<li><a href ="NSPortNameServer.html">NSPortNameServer</a>
<li><a href ="NSProcessInfo.html">NSProcessInfo</a>
<li><a href ="NSProtocolChecker.html">NSProtocolChecker</a>
<li><a href ="NSProxy.html">NSProxy</a>
<li><a href ="NSRecursiveLock.html">NSRecursiveLock</a>
<li><a href ="NSRunLoop.html">NSRunLoop</a>
<li><a href ="NSScanner.html">NSScanner</a>
<li><a href ="NSSerializer.html">NSSerializer</a>
<li><a href ="NSSet.html">NSSet</a>
<li><a href ="NSString.html">NSString</a>
<li><a href ="NSTask.html">NSTask</a>
<li><a href ="NSThread.html">NSThread</a>
<li><a href ="NSTimeZone.html">NSTimeZone</a>
<li><a href ="NSTimer.html">NSTimer</a>
<li><a href ="NSURL.html">NSURL</a>
<li><a href ="NSURLHandle.html">NSURLHandle</a>
<li><a href ="NSUnarchiver.html">NSUnarchiver</a>
<li><a href ="NSUndoManager.html">NSUndoManager</a>
<li><a href ="NSUserDefaults.html">NSUserDefaults</a>
<li><a href ="NSValue.html">NSValue</a>
</ul>
<h3><a name ="cont-6">The OpenStep functions</a></h3>
<ul>
<li><a href ="NSFunctions.html">Functions</a>
</ul>
<h3><a name ="cont-7">The GNUstep extension classes</a></h3>
<ul>
<li><a href ="GSMime.html">GSMime</a>
<li><a href ="GSXML.html">GSXML</a>
</ul>
</body>
</html>