EnglishFrenchSpanish

Ad


OnWorks favicon

ucpp - Online in the Cloud

Run ucpp in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command ucpp that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


ucpp - C preprocessor

SYNOPSIS


ucpp [ options ] [ file ]

DESCRIPTION


ucpp is a C preprocessor mostly compatible with ISO-C99. It is rather strict and uses
only a small amount of memory. It uses standard input as primary input if no file argument
is given.

OPTIONS


There are several classes of options.

Language Options

-C keep comments in the output.

-s if a rogue '#' is encountered, do not emit an error and keep it in the output.

-l supress the emission of '#line' directives in the output.

-lg convert the '#line' to the gcc-style equivalent.

-CC disable C++-like comments (a '//' begins a comment, up to the end of the line). Use
this option to get closer to C90 behaviour.

-a, -na
handle assertions (defined with #assert); -a also defines the standard assertions
#machine , #cpu and #system (see -e to get the local definition of such
assertions).

-a0 disable assertion support.

-V disable support for macros with a variable number of arguments: in C99, a macro may
be declared with ... as the last argument; inside the replacement list,
__VA_ARGS__ is replaced with the optional extra arguments given in the call to the
macro. Use this option to get closer to C90 behaviour.

-u enable UTF-8 support: with this option, the source is considered as an ISO/10646
source, encoded in UTF-8. Characters represented as two bytes or more are
considered as alphabetic characters, like letters, and therefore usable in
identifiers. These characters hold the same syntactic value than the corresponding
Universal Character Names.

-X enable -a, -u and -Y. This should make ucpp behave closer to what is requested
from a "modern" C preprocessor.

-c90 enable -V and -CC, and do not define __STDC_VERSION__. This should make ucpp mimic
older C90 behaviour.

-t disable trigraph support; this seems to be required for some legacy code.

Warning Options

-wt emit a final warning when trigraphs are encountered.

-wtt emit warnings for each trigraph encountered.

-wa emit annoying warnings (these are usually useless).

-w0 supress standard warnings.

Directory Options

-Idirectory

-I directory
add directory to the include path, before the standard include path.

-Jdirectory

-J directory
add directory to the include path, after the standard include path.

-zI do not use the standard (compile-time) include path.

-M emit only the names of encountered files, separated by spaces; this is intended for
automatic generation of Makefile dependencies.

-Ma do the same as -M but also for system files.

-o file
direct the ouput to file instead of standard output.

Macro Options

-Dmacro
predefine macro with content 1.

-Dmacro=def
predefine macro with the content def.

-Umacro
undefine macro.

-Y predefine system-dependant macros.

-Z do not predefine special macros such as __TIME__.

-Afoo(bar)
add foo(bar) to the list of assertions.

-Bfoo(bar)
remove foo(bar) of the list of assertions; you may also use -Bfoo to remove all
-Bfoo(xxx) from the list of assertions.

-d instead of normal output, emit '#define' directives representing all macros defined
during processing.

-e instead of normal output, emit '#assert' directives representing all assertions
defined during processing.

Miscellaneous Options

-v print version number, include path and (optionaly) defined assertions.

-h print some help.

ENVIRONMENT


ucpp is not itself affected by environment variables. However, it uses library functions
that might be affected, depending on the system.

Use ucpp online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    wxPython
    wxPython
    A set of Python extension modules that
    wrap the cross-platform GUI classes from
    wxWidgets.. Audience: Developers. User
    interface: X Window System (X11), Win32 ...
    Download wxPython
  • 2
    packfilemanager
    packfilemanager
    This is the Total War pack file manager
    project, starting from version 1.7. A
    short introduction into Warscape
    modding: ...
    Download packfilemanager
  • 3
    IPerf2
    IPerf2
    A network traffic tool for measuring
    TCP and UDP performance with metrics
    around both throughput and latency. The
    goals include maintaining an active
    iperf cod...
    Download IPerf2
  • 4
    fre:ac - free audio converter
    fre:ac - free audio converter
    fre:ac is a free audio converter and CD
    ripper for various formats and encoders.
    It features MP3, MP4/M4A, WMA, Ogg
    Vorbis, FLAC, AAC, and Bonk format
    support, ...
    Download fre:ac - free audio converter
  • 5
    Matplotlib
    Matplotlib
    Matplotlib is a comprehensive library
    for creating static, animated, and
    interactive visualizations in Python.
    Matplotlib makes easy things easy and
    hard thing...
    Download Matplotlib
  • 6
    BotMan
    BotMan
    Write your chatbot logic once and
    connect it to one of the available
    messaging services, including Amazon
    Alexa, Facebook Messenger, Slack,
    Telegram or even yo...
    Download BotMan
  • More »

Linux commands

Ad