How to: Detect /clr Compilation


For the latest documentation on Visual Studio 2017, see Visual Studio 2017 Documentation.

Use the _MANAGED or _M_CEE macro to see if a module is compiled with /clr. For more information, see /clr (Common Language Runtime Compilation).

For more information about macros, see Predefined Macros.

// detect_CLR_compilation.cpp  
// compile with: /clr  
#include <stdio.h>  
int main() {  
   #if (_MANAGED == 1) || (_M_CEE == 1)  
      printf_s("compiling with /clr\n");  
      printf_s("compiling without /clr\n");  

Using C++ Interop (Implicit PInvoke)