cpp.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Sun, 27 Nov 2011 21:34:11 +0200
changeset 1096 6b89ccc3d36a
parent 1087 e1b19e1e7031
child 1105 f50956d9293a
permissions -rw-r--r--
Small fix.

.. -*- coding: utf-8; -*-

=======================
 cpp (C preprocessor).
=======================

How to see macros expansion?
============================

GCC::

  $ cpp <file>.c

MSVC::

  $ cl /E <file>.c

Who to see predefined macros?
=============================

See:

  http://predef.sourceforge.net/
  http://en.wikipedia.org/wiki/C_preprocessor#Compiler-specific_predefined_macros
  http://msdn.microsoft.com/en-us/library/b0084kay.aspx
                Predefined Macros

GNU C Compiler::

  $ gcc -dM -E - < /dev/null

HP-UX ansi C compiler::

  $ cc -v EMPTY.c

SCO OpenServer C compiler::

  $ cc -## EMPTY.c

Sun Studio C/C++ compiler::

  $ cc -## EMPTY.c

IBM AIX XL C/C++ compiler::

  $ cc -qshowmacros -E EMPTY.c

For Visual Studio compiler there no any possibility get predefined macros from
command line... But some macros documented:

  _MSC_VER
                Defines the compiler version. Always defined.
  _WIN32
                Defined for applications for Win32. Always defined.