* doc/objc.texi: Use more logical markup. Use TeX dashes.
From-SVN: r43182
This commit is contained in:
parent
2c96a7ca3c
commit
bd91de6329
@ -1,3 +1,7 @@
|
|||||||
|
2001-06-11 Joseph S. Myers <jsm28@cam.ac.uk>
|
||||||
|
|
||||||
|
* doc/objc.texi: Use more logical markup. Use TeX dashes.
|
||||||
|
|
||||||
2001-06-11 Joseph S. Myers <jsm28@cam.ac.uk>
|
2001-06-11 Joseph S. Myers <jsm28@cam.ac.uk>
|
||||||
|
|
||||||
* doc/c-tree.texi: Use more logical markup.
|
* doc/c-tree.texi: Use more logical markup.
|
||||||
|
@ -116,8 +116,8 @@ things:
|
|||||||
you can write whatever C code you like;
|
you can write whatever C code you like;
|
||||||
|
|
||||||
@item
|
@item
|
||||||
you can send messages to Objective-C constant strings (@@"this is a
|
you can send messages to Objective-C constant strings (@code{@@"this is a
|
||||||
constant string");
|
constant string"});
|
||||||
|
|
||||||
@item
|
@item
|
||||||
you can allocate and send messages to objects whose class is implemented
|
you can allocate and send messages to objects whose class is implemented
|
||||||
@ -241,13 +241,13 @@ The non-atomic types are encoded as follows:
|
|||||||
|
|
||||||
@multitable @columnfractions .2 .8
|
@multitable @columnfractions .2 .8
|
||||||
@item pointers
|
@item pointers
|
||||||
@tab @code{'^'} followed by the pointed type.
|
@tab @samp{^} followed by the pointed type.
|
||||||
@item arrays
|
@item arrays
|
||||||
@tab @code{'['} followed by the number of elements in the array followed by the type of the elements followed by @code{']'}
|
@tab @samp{[} followed by the number of elements in the array followed by the type of the elements followed by @samp{]}
|
||||||
@item structures
|
@item structures
|
||||||
@tab @code{'@{'} followed by the name of the structure (or '?' if the structure is unnamed), the '=' sign, the type of the members and by @code{'@}'}
|
@tab @samp{@{} followed by the name of the structure (or @samp{?} if the structure is unnamed), the @samp{=} sign, the type of the members and by @samp{@}}
|
||||||
@item unions
|
@item unions
|
||||||
@tab @code{'('} followed by the name of the structure (or '?' if the union is unnamed), the '=' sign, the type of the members followed by @code{')'}
|
@tab @samp{(} followed by the name of the structure (or @samp{?} if the union is unnamed), the @samp{=} sign, the type of the members followed by @samp{)}
|
||||||
@end multitable
|
@end multitable
|
||||||
|
|
||||||
Here are some types and their encodings, as they are generated by the
|
Here are some types and their encodings, as they are generated by the
|
||||||
@ -317,11 +317,11 @@ Boehm-Demers-Weiser conservative garbage collector. It is available from
|
|||||||
@w{@uref{http://www.hpl.hp.com/personal/Hans_Boehm/gc/}}.
|
@w{@uref{http://www.hpl.hp.com/personal/Hans_Boehm/gc/}}.
|
||||||
|
|
||||||
To enable the support for it you have to configure the compiler using an
|
To enable the support for it you have to configure the compiler using an
|
||||||
additional argument, @w{@kbd{--enable-objc-gc}}. You need to have
|
additional argument, @w{@option{--enable-objc-gc}}. You need to have
|
||||||
garbage collector installed before building the compiler. This will
|
garbage collector installed before building the compiler. This will
|
||||||
build an additional runtime library which has several enhancements to
|
build an additional runtime library which has several enhancements to
|
||||||
support the garbage collector. The new library has a new name,
|
support the garbage collector. The new library has a new name,
|
||||||
@kbd{libobjc_gc.a} to not conflict with the non-garbage-collected
|
@file{libobjc_gc.a} to not conflict with the non-garbage-collected
|
||||||
library.
|
library.
|
||||||
|
|
||||||
When the garbage collector is used, the objects are allocated using the
|
When the garbage collector is used, the objects are allocated using the
|
||||||
@ -331,7 +331,7 @@ where pointers are located inside objects. This information is computed
|
|||||||
once per class, immediately after the class has been initialized.
|
once per class, immediately after the class has been initialized.
|
||||||
|
|
||||||
There is a new runtime function @code{class_ivar_set_gcinvisible()}
|
There is a new runtime function @code{class_ivar_set_gcinvisible()}
|
||||||
which can be used to declare a so-called @strong{weak pointer}
|
which can be used to declare a so-called @dfn{weak pointer}
|
||||||
reference. Such a pointer is basically hidden for the garbage collector;
|
reference. Such a pointer is basically hidden for the garbage collector;
|
||||||
this can be useful in certain situations, especially when you want to
|
this can be useful in certain situations, especially when you want to
|
||||||
keep track of the allocated objects, yet allow them to be
|
keep track of the allocated objects, yet allow them to be
|
||||||
@ -379,7 +379,7 @@ following class does this:
|
|||||||
@end example
|
@end example
|
||||||
|
|
||||||
Weak pointers are supported through a new type character specifier
|
Weak pointers are supported through a new type character specifier
|
||||||
represented by the @code{'!'} character. The
|
represented by the @samp{!} character. The
|
||||||
@code{class_ivar_set_gcinvisible()} function adds or removes this
|
@code{class_ivar_set_gcinvisible()} function adds or removes this
|
||||||
specifier to the string type description of the instance variable named
|
specifier to the string type description of the instance variable named
|
||||||
as argument.
|
as argument.
|
||||||
@ -390,7 +390,7 @@ as argument.
|
|||||||
|
|
||||||
GNU Objective-C provides constant string objects that are generated
|
GNU Objective-C provides constant string objects that are generated
|
||||||
directly by the compiler. You declare a constant string object by
|
directly by the compiler. You declare a constant string object by
|
||||||
prefixing a C constant string with the character @code{@@}:
|
prefixing a C constant string with the character @samp{@@}:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
id myString = @@"this is a constant string object";
|
id myString = @@"this is a constant string object";
|
||||||
@ -403,8 +403,8 @@ runtime. To get the definition of this class you must include the
|
|||||||
|
|
||||||
User defined libraries may want to implement their own constant string
|
User defined libraries may want to implement their own constant string
|
||||||
class. To be able to support them, the GNU Objective-C compiler provides
|
class. To be able to support them, the GNU Objective-C compiler provides
|
||||||
a new command line options @code{-fconstant-string-class=<class
|
a new command line options @option{-fconstant-string-class=@var{class-name}}.
|
||||||
name>}. The provided class should adhere to a strict structure, the same
|
The provided class should adhere to a strict structure, the same
|
||||||
as @code{NXConstantString}'s structure:
|
as @code{NXConstantString}'s structure:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
@ -422,7 +422,7 @@ User class libraries may choose to inherit the customized constant
|
|||||||
string class from a different class than @code{Object}. There is no
|
string class from a different class than @code{Object}. There is no
|
||||||
requirement in the methods the constant string class has to implement.
|
requirement in the methods the constant string class has to implement.
|
||||||
|
|
||||||
When a file is compiled with the @code{-fconstant-string-class} option,
|
When a file is compiled with the @option{-fconstant-string-class} option,
|
||||||
all the constant string objects will be instances of the class specified
|
all the constant string objects will be instances of the class specified
|
||||||
as argument to this option. It is possible to have multiple compilation
|
as argument to this option. It is possible to have multiple compilation
|
||||||
units referring to different constant string classes, neither the
|
units referring to different constant string classes, neither the
|
||||||
@ -447,7 +447,7 @@ tells the compiler that each time it encounters @code{WOApplication} as
|
|||||||
a class name, it should replace it with @code{GSWApplication} (that is,
|
a class name, it should replace it with @code{GSWApplication} (that is,
|
||||||
@code{WOApplication} is just an alias for @code{GSWApplication}).
|
@code{WOApplication} is just an alias for @code{GSWApplication}).
|
||||||
|
|
||||||
There are some constraints on how this can be used -
|
There are some constraints on how this can be used---
|
||||||
|
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user