| |||
| Home > Compiler-specific Features > __declspec attributes | |||
The __declspec keyword enables you to specify special attributes
of objects and functions. For example, you can use the __declspec keyword
to declare imported or exported functions and variables, or to declare Thread
Local Storage (TLS) objects.
The __declspec keyword must prefix the
declaration specification. For example:
__declspec(noreturn) void overflow(void); __declspec(thread) int i;
Table 9 summarizes
the available __declspec attributes. __declspec attributes
are storage class modifiers. They do not affect the type of a function
or variable.
Table 9. __declspec attributes supported by the compiler and their equivalents
| __declspec attribute | non __declspec equivalent |
|---|---|
__declspec(dllexport) | - |
__declspec(dllimport) | - |
__declspec(noinline) | __attribute__((noinline))[a] |
__declspec(noreturn) | __attribute__((noreturn))[a] |
__declspec(nothrow) | - |
__declspec(notshared) | - |
__declspec(thread) | - |
[a] A GNU compiler extension supported by the ARM compiler. | |