nbc - Man Page
Compiler for LEGO Mindstorms NXT
Synopsis
nbc [options] file [options]
Description
This manual page documents briefly the nbc command.
nbc is a program that compiles Not eXactly C (NXC) files or NeXT Byte Code (NBC) files into programs that can run on the standard LEGO MINDSTORMS NXT firmware or the enhanced NBC/NXC firmware. The nbc compiler can either save the compiler output to a file or upload it to a LEGO Mindstorms NXT for execution. The compiler can also compile NXT Picture files (.ric) using the text-based RICScript language. Since nbc can compile different programming languages it uses the file extension to determine the type of code it is compiling. NXC programs should use the .nxc file extension, NBC programs should use the .nbc file extension, and RICScript programs should use the .rs file extension.
Options
- -S=<portname>
specify port name (COMn or usb), resource name, or alias
- -d
download program
- -b
treat input file as a binary file (don't compile it)
- -q
quiet mode
- -n
prevent the system file from being included
- -D=<sym>[=<value>]
define macro <sym>
- -x
decompile program
- -Z[1|2]
turn on compiler optimizations
- -ER=n
set maximum errors before aborting (0 == no limit)
- -PD=n
set max preprocessor recursion depth (default == 10)
- -O=<filename>
specify output file
- -E=<filename>
write compiler errors to <filename>
- -I=<path>
search <path> for include files
- -nbc=<filename>
save NXC intermediate NBC code to <filename>
- -L=<filename>
generate code listing to <filename>
- -Y=<filename>
generate symbol table to <filename>
- -w[-|+]
warnings off or on [default is on]
- -sm[-|+]
compiler status messages off or on [default is on]
- -EF
enhanced firmware
- -safecall
NXC will wrap all function calls in Acquire/Release
- -api
dump the API to stdout
- -v=n
set the targeted firmware version (default == 128, NXT 1.1 == 105)
- -help
display command line options
Author
nbc was written by John Hansen.
This manual page was written by Sebastian Reichel <elektranox@gmail.com>, for the Debian project (but may be used by others).