diff options
-rw-r--r-- | doc/README.developer | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/doc/README.developer b/doc/README.developer index d7e5a09af1..621393eac3 100644 --- a/doc/README.developer +++ b/doc/README.developer @@ -80,13 +80,29 @@ features. The C99 features that can be used are: variadic macros -Don't initialize variables in their declaration with non-constant -values. Not all compilers support this. E.g. don't use +Don't initialize variables with static storage duration - i.e., global +or static variables - or objects with aggregate type (arrays and +structures) in their declaration with non-constant values. Not all +compilers support this. E.g., if "i" is a static or global variable, +don't declare i as + guint32 i = somearray[2]; -use + +declare it as just + guint32 i; + +and later, in code, initialize it with + i = somearray[2]; -instead. + +instead. Initializations of non-aggregate variables with automatic +storage duration - i.e., local variables - with non-constant values is +permitted, so, within a function + + guint32 i = somearray[2]; + +is allowed. Don't use zero-length arrays; not all compilers support them. If an array would have no members, just leave it out. |