EnglishFrenchSpanish

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
    Osu!
    Osu!
    Osu! is a simple rhythm game with a well
    thought out learning curve for players
    of all skill levels. One of the great
    aspects of Osu! is that it is
    community-dr...
    Download Osu!
  • 2
    LIBPNG: PNG reference library
    LIBPNG: PNG reference library
    Reference library for supporting the
    Portable Network Graphics (PNG) format.
    Audience: Developers. Programming
    Language: C. This is an application that
    can also...
    Download LIBPNG: PNG reference library
  • 3
    Metal detector based on  RP2040
    Metal detector based on RP2040
    Based on Raspberry Pi Pico board, this
    metal detector is included in pulse
    induction metal detectors category, with
    well known advantages and disadvantages.
    RP...
    Download Metal detector based on RP2040
  • 4
    PAC Manager
    PAC Manager
    PAC is a Perl/GTK replacement for
    SecureCRT/Putty/etc (linux
    ssh/telnet/... gui)... It provides a GUI
    to configure connections: users,
    passwords, EXPECT regula...
    Download PAC Manager
  • 5
    GeoServer
    GeoServer
    GeoServer is an open-source software
    server written in Java that allows users
    to share and edit geospatial data.
    Designed for interoperability, it
    publishes da...
    Download GeoServer
  • 6
    Firefly III
    Firefly III
    A free and open-source personal finance
    manager. Firefly III features a
    double-entry bookkeeping system. You can
    quickly enter and organize your
    transactions i...
    Download Firefly III
  • More »

Linux commands

Ad