gcce.h File Reference

__NO_CLASS_CONSTS__

__NORETURN__

__NORETURN_TERMINATOR

IMPORT_C

EXPORT_C

IMPORT_D

EXPORT_D

NONSHARABLE_CLASS

Declares a class as being non-sharable.

If a class is non-sharable, then a class implemented in another DLL cannot derive (inherit) from that class.

Declaring a class as non-sharable prevents the compiler from exporting compiler implementation-specific symbols, i.e. run-time type-information and virtual tables. This prevents classes in other DLLs from being able to derive from it.

Note :
  • if a class is marked as non-sharable, then Symbian OS requires all classes that are derived from that class, and which are also implemented in the same DLL, to be declared as non-sharable.

  • by default, a class is sharable.

The following code fragment shows how a non-sharable class is declared.
NONSHARABLE_CLASS(CMyClass) : public CBase
	{
	public :
	...
	private :
	...
	}

NONSHARABLE_STRUCT

__NO_THROW

__THROW

TEMPLATE_SPECIALIZATION

__int64

__VALUE_IN_REGS__

I64LIT

UI64LIT

__SOFTFP

Typedef __TText

typedef wchar_t__TText

__wchar_t_defined

__TText_defined

__NAKED__

____ONLY_USE_NAKED_IN_CIA____

Typedef Int64

typedef long longInt64

Typedef Uint64

typedef unsigned long longUint64

va_start

va_arg

va_end

VA_LIST

_VA_LIST_DEFINED

__VA_LIST_defined

VA_START

VA_ARG

VA_END

_STDARG_H

Typedef __e32_va_list

typedef va_list__e32_va_list

_STDARG_E_H

__EABI_CTORS__

__EH_FRAME_ADDRESS

__EH_FRAME_PUSH2

__EH_FRAME_SAVE1