4.2. __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 4.2 summarizes the available __declspec attributes. __declspec attributes are storage class modifiers. They do not affect the type of a function or variable.

Table 4.2. __declspec attributes supported by the compiler and their equivalents

__declspec attributenon __declspec equivalent
__declspec(dllexport)-
__declspec(dllimport)-
__declspec(noinline)__attribute__((noinline))
__declspec(noreturn)__attribute__((noreturn))
__declspec(nothrow)-
__declspec(notshared)-
__declspec(thread)-

Copyright © 2007, 2010 ARM Limited. All rights reserved.ARM DUI 0348A
Non-Confidential