Using the GNU Compiler Collection (GCC): ARM Type Attributes

Next: BPF Type Attributes, Previous: ARC Type Attributes, Up: Type Attributes [Contents][Index]

#### 6.35.3 ARM Type Attributes

On those ARM targets that support `dllimport` (such as Symbian OS), you can use the `notshared` attribute to indicate that the virtual table and other similar data for a class should not be exported from a DLL. For example:

    class __declspec(notshared) C {
    public:
      __declspec(dllimport) C();
      virtual void f();
    }

    __declspec(dllexport)
    C::C() {}

In this code, `C::C` is exported from the current DLL, but the virtual table for `C` is not exported. (You can use `__attribute__` instead of `__declspec` if you prefer, but most Symbian OS code uses `__declspec`.)