Compiler Options Macros

These macros control specific compiler features.

_ATL_ALL_WARNINGS

A symbol which enables errors in projects converted from previous versions of ATL.

_ATL_APARTMENT_THREADED

Define if one or more of your objects use apartment threading.

_ATL_CSTRING_EXPLICIT_CONSTRUCTORS

Makes certain CString constructors explicit, preventing any unintentional conversions.

_ATL_ENABLE_PTM_WARNING

Define this macro in order to use C++ standard compliant syntax, which generates the C4867 compiler error when a non standard syntax is used to initialize a pointer to a member function.

_ATL_FREE_THREADED

Define if one or more of your objects use free or neutral threading.

_ATL_MULTI_THREADED

A symbol that indicates the project will have objects that are marked as Both, Free or Neutral. The macro _ATL_FREE_THREADED should be used instead.

_ATL_NO_AUTOMATIC_NAMESPACE

A symbol which prevents the default use of namespace as ATL.

_ATL_NO_COM_SUPPORT

A symbol which prevents COM-related code from being compiled with your project.

ATL_NO_VTABLE

A symbol that prevents the vtable pointer from being initialized in the class's constructor and destructor.

ATL_NOINLINE

A symbol that indicates a function should not be inlined.

_ATL_SINGLE_THREADED

Define if all of your objects use the single threading model.

See Also

Concepts

ATL Macros