ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libecb/ecb.pod
(Generate patch)

Comparing libecb/ecb.pod (file contents):
Revision 1.42 by root, Mon May 28 08:54:03 2012 UTC vs.
Revision 1.43 by root, Tue May 29 14:09:49 2012 UTC

64 int32_t uint32_t int64_t uint64_t 64 int32_t uint32_t int64_t uint64_t
65 intptr_t uintptr_t ptrdiff_t 65 intptr_t uintptr_t ptrdiff_t
66 66
67The macro C<ECB_PTRSIZE> is defined to the size of a pointer on this 67The macro C<ECB_PTRSIZE> is defined to the size of a pointer on this
68platform (currently C<4> or C<8>). 68platform (currently C<4> or C<8>).
69
70=head2 LANGUAGE/COMPILER VERSIONS
71
72=over 4
73
74=item ECB_C99
75
76Expands to a true value (suitable for testing in by the preprocessor)
77if the environment claims to be C99 compliant.
78
79=item ECB_C11
80
81Expands to a true value (suitable for testing in by the preprocessor)
82if the environment claims to be C11 compliant.
83
84=item ECB_GCC_VERSION(major,minor)
85
86Expands to a true value (suitable for testing in by the preprocessor)
87if the compiler used is GNU C and the version is the givne version, or
88higher.
89
90This macro tries to return false on compilers that claim to be GCC
91compatible but aren't.
92
93=back
69 94
70=head2 GCC ATTRIBUTES 95=head2 GCC ATTRIBUTES
71 96
72A major part of libecb deals with GCC attributes. These are additional 97A major part of libecb deals with GCC attributes. These are additional
73attributes that you can assign to functions, variables and sometimes even 98attributes that you can assign to functions, variables and sometimes even
581 for (i = 0; i < ecb_array_length (primes); i++) 606 for (i = 0; i < ecb_array_length (primes); i++)
582 sum += primes [i]; 607 sum += primes [i];
583 608
584=back 609=back
585 610
611=head2 SYMBOLS GOVERNING COMPILATION OF ECB.H ITSELF
586 612
613These symbols need to be defined before including F<ecb.h> the first time.
614
615=over 4
616
617=item ECB_NO_THRADS
618
619If F<ecb.h> is never used from multiple threads, then this symbol can
620be defined, in which case memory fences (and similar constructs) are
621completely removed, leading to more efficient code and fewer dependencies.
622
623Setting this symbol to a true value implies C<ECB_NO_SMP>.
624
625=item ECB_NO_SMP
626
627The weaker version of C<ECB_NO_THREADS> - if F<ecb.h> is used from
628multiple threads, but never concurrently (e.g. if the system the program
629runs on has only a single CPU with a single core, no hyperthreading and so
630on), then this symbol can be defined, leading to more efficient code and
631fewer dependencies.
632
633=back
634
635

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines