Red Hat ENTERPRISE LINUX 4 Manual page 275

Hide thumbs Also See for ENTERPRISE LINUX 4:
Table of Contents

Advertisement

Chapter 8. GNU Objective-C runtime features
unsigned short
int
unsigned int
long
unsigned long
long long
unsigned long
long
float
double
void
id
Class
SEL
char*
unknown type
bit-fields
The encoding of bit-fields has changed to allow bit-fields to be properly handled by the runtime
functions that compute sizes and alignments of types that contain bit-fields. The previous encoding
contained only the size of the bit-field. Using only this information it is not possible to reliably com-
pute the size occupied by the bit-field. This is very important in the presence of the Boehm's garbage
collector because the objects are allocated using the typed memory facility available in this collector.
The typed memory allocation requires information about where the pointers are located inside the
object.
The position in the bit-field is the position, counting in bits, of the bit closest to the beginning of the
structure.
The non-atomic types are encoded as follows:
pointers
arrays
structures
unions
Here are some types and their encodings, as they are generated by the compiler on an i386 machine:
Objective-C type
S
i
I
l
L
q
Q
f
d
v
@
#
:
*
?
followed by the starting position of the bit-field, the type of the bit-field
b
and the size of the bit-field (the bit-fields encoding was changed from the
NeXT's compiler encoding, see below)
followed by the pointed type.
^
followed by the number of elements in the array followed by the type of the
[
elements followed by
followed by the name of the structure (or
{
sign, the type of the members and by
followed by the name of the structure (or
(
sign, the type of the members followed by
Compiler encoding
]
}
if the structure is unnamed), the
?
if the union is unnamed), the
?
)
267
=
=

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ENTERPRISE LINUX 4 and is the answer not in the manual?

Questions and answers

Table of Contents