nitc [*options*] FILE...
+nitc [*options*] --run FILE [ARG]...
+
# DESCRIPTION
$ nitc prog1.nit -m other_module.nit
nitc can produces executables for various platforms when specific modules are used.
-Currently, android, pnacl and emscripten are supported.
+Currently, android and emscripten are supported.
See the documentation of these specific modules for details.
## COMPILATION
+### `--run`
+Execute the binary after the compilation.
+
+The binary is generated as expected then it is executed directly.
+After the execution, the binary is not removed.
+
+When `--run` is used, the first argument is the program to compile, the rest of the arguments are the arguments of the program.
+Note that you MUST use `--` before the program arguments if one of them is an option starting with a `-`.
+
+~~~bash
+$ nitc --run foo.nit arg # compile foo.nit, then executes `./foo arg`
+$ nitc --run foo.nit arg -W # compile foo.nit with warnings, then executes `./foo arg`
+$ nitc --run foo.nit -- arg -W # compile foo.nit, then executes `./foo arg -W`
+~~~
+
### `--compile-dir`
Directory used to generate temporary files.
For more debugging-related options, see also `--hardening` and `NIT_GC_OPTION`
+### `--trace`
+Compile with lttng's instrumentation.
+
+Currently add a lttng trace provider and add tracepoint into object instances.
+
## COMPILATION MODES
### `nitc` includes distinct compilation modes.
Note that the `--no-stacktrace` option (or this absence) can be toggled manually in the generated Makefile (search `NO_STACKTRACE` in the Makefile).
Moreover, the environment variable `NIT_NO_STACK` (see bellow) can also be used at runtime to disable stack traces.
+### `--trace-memory`
+Enable dynamic measure of memory usage.
+
+Compiled programs will generate a large `memory.log` file that logs all memory allocations.
+This logs file can then be analyzed with the tool `memplot` from contrib.
+
### `--hardening`
Generate contracts in the C code against bugs in the compiler.