📄 chicken.1
字号:
.\" dummy line.TH CHICKEN 1 "10 Sep 2002".SH NAMEchicken \- A Scheme\-to\-C compiler.SH SYNOPSIS.B chicken.I pathname[.I option ...].SH DESCRIPTION.I Chickenis a compiler for the programming language.I Schemesupporting most of the features as described in the.I Revised^5 Report on.I the Algorithmic Language Scheme\..SH OPTIONS.TP.B \-analyze\-onlyStop compilation after first analysis pass..B \-benchmark\-modeEquivalent to.B \-optimize\-level\ 3\ \-fixnum\-arithmetic\ \-disable\-interrupts\ \-lambda\-lift.B \-block\ \-no\-lambda\-info.TP.B \-blockEnable block-compilation. When this option is specified, the compiler assumes that global variables are not modified outside this compilation-unit..TP.B \-case\-insensitiveEnables the reader to read symbols case-insensitive. The default is to read case-sensitive (in violation of R5RS).This option registers the.B case\-insensitivefeature identifier..TP.B \-check\-importsSearch for references to undefined global variables..TP.B \-check\-syntaxAborts compilation process after macro-expansion and syntax checks..TP.BI \-database\-size \ numberSpecifies the initial size of the analysis-database. Should only be used if extremely large files are to be compiled..TP.BI \-debug \ modesEnables one or more debugging modes. See the User's Manual for more information..TP.BI \-debug\-level \ levelSelects amount of debug-information. .I levelshould be an integer..P.br.B \ \ \ \ 0-no-trace -no-lambda-info.br.B \ \ \ \ 1-no-trace.br.B \ \ \ \ 2nothing..TP.B \-disable\-c\-syntax\-checksDisable basic syntax checking of embedded C code fragments..TP.B \-disable\-compiler\-macrosDisable expansion of compiler macros..TP.B \-disable\-interruptsEquivalent to.B \-prelude\ "(declare\ (interrupts-disabled))".TP.B \-disable\-stack\-overflow\-checksDisables detection of stack-overflows..TP.B \-disable\-warning\ classDisables specific class of warnings, may be given multiple times..TP.B \-dynamicThis option should be used when compiling files intended to be loaded dynamically intoa running Scheme program..TP.BI \-epilogue \ filenameIncludes the file named.I filenameat the end of the compiled source file. The include-path is not searched. This option may be given multiple times..TP.I \-emit\-debug\-infoEmit additional information for each .B lambdaexpression (currently the argument-list,after alpha-conversion/renaming)..TP.BI \-emit\-exports\ filenameWrite exported toplevel variables to file.B filename.TP.I \-emit\-external\-prototypes\-firstEmit prototypes for callbacks defined with .B define\-external before anyother foreign declarations. This is sometimes useful, when C/C++ code embedded intothe a Scheme program has to access the callbacks. By default the prototypes are emittedafter foreign declarations..TP.B \-explicit\-useDisables automatic use of the units.I libraryand.I eval\. Use this option if compiling a library unitinstead of an application unit..TP.BI \-extend \ filenameLoads a Scheme file before compilation commences. This feature can be used to extend the compiler..TP.B \-extensionMostly equivalent to .B \-prelude\ \'\(define-extension\ NAME\)\'where .B NAMEis the basename of the currently compiled file. Note that if you want to compile a fileas a normal (dynamically loadable) extension library, you should also pass the.I \-sharedoption..TP.BI \-feature \ symbolRegisters.I symbolto be a valid feature identifier for.B cond\-expand.TP.B \-fixnum\-arithmeticEquivalent to.B \-prelude\ "(declare\ (fixnum))".TP.BI \-heap\-size \ numberSets the static heap-size of the generated executable to.I numberbytes. The parameter may befollowed by a.B Mor.B Ksuffix which stand for mega- and kilobytes, respectively. The default heap-size is 16 megabytes..TP.BI \-heap\-initial\-size \ numberSets the size that the heap of the compiled application should have at startup time..TP.BI \-heap\-growth \ percentageSets the heap-growth rate for the compiled program at compile time..TP.BI \-heap\-shrinkage \ percentageSets the heap-shrinkage rate for the compiled program at compile time..TP.B \-helpPrint a summary of available options and the format of the command-line parameters and exit the compiler..TP.BI \-import\ pathnameRead exports from linked or loaded libraries from given file. Implies.B \-check\-imports.TP.BI \-include\-path \ pathnameSpecifies an additional search path for files included via the .I includespecial form. This option may be given multiple times. If the environment variable.B CHICKEN_INCLUDE_PATHis set, it should contain a list of alternative includepathnames separated by.I \;\..TP.B \-inlineEnables procedure inlining..TP.BI \-inline\-limit thresholdSets the maximum size of potentially inlinable procedures..TP.BI \-keep\-shadowed\-macrosDo not remove macro definitions with the same name as assigned toplevel variables (the default is to remove the macro definition)..TP.BI \-keyword\-style styleEnables alternative keyword syntax, where style may be either.B prefix(as in Common Lisp), .B suffix(as in DSSSL) or.B noneAny other value is ignored. The default is \texttt{suffix}..TP.B \-lambda\-liftEnable the optimization known as lambda-lifting..TP.B \-no\-traceDisable generation of tracing information. If a compiled executable should halt due to a runtime error,then a file containing a stack-trace will be written to the current directory under the name .I STACKTRACE\. Each line in the created file gives the name and the line-number (if available) of a procedure call.With this option given, the generated code is slightly faster..TP.B \-no\-warningsDisable generation of compiler warnings..TP.BI \-nursery \ number.TP.BI \-stack\-size \ numberSets the size of the first heap-generation of the generated executable to .I numberbytes. The parameter maybe followed by a.B Mor.B Ksuffix. The default stack-size depends on the target platform..TP.BI \-optimize\-leaf\-routinesEnable leaf routine optimization..TP.BI \-optimize\-level \ levelEnables certain sets of optimization options. .I levelshould be an integer. Each optimization level corresponds to a certain set of optimization optionas shown in the following list:.P.br.B \ \ \ \ 0nothing.br.B \ \ \ \ 1-optimize-leaf-routines.br.B \ \ \ \ 2-optimize-leaf-routines -usual-integrations.br.B \ \ \ \ 3-optimize-leaf-routines -usual-integrations -unsafe.TP.BI \-output\-file \ filenameSpecifies the pathname of the generated C file. Default is .I FILENAME.c\..TP.BI \-postlude \ expressionsAdd.I expressionsafter all other toplevel expressions in the compiled file.This option may be given multiple times. Processing of this option takes place after processing of.BI \-epilogue\..TP.BI \-prelude \ expressionsAdd.I expressionsbefore all other toplevel expressions in the compiled file.This option may be given multiple times. Processing of this option takes place before processing of.B \-prologue\..TP.B \-profile.B \-accumulate\-profileInstruments the source code to count procedure calls and execution times. After the program terminates(either via an explicit .B exitor implicitly), profiling statistics are written to a file named.B PROFILE.<PID>where <PID> is the process ID of the program being profiled.Each line of the generated file contains a list with the procedure name,the number of calls and the time spent executing it. Use the.B chicken\-profileprogram to display the profiling information in a more user-friendly form..TP.B \-profile\-name\ filenameSpecifies the name of the generated profile information file. Only usefulin combination with the .B \-profileor.B \-accumulate-profileoptions..TP.BI \-prologue \ filenameIncludes the file named .I filenameat the start of the compiled source file. The include-path is not searched. This option may be given multiple times..TP.B \-quietDisables output of compile information..TP.B \-releasePrint release number and exit..TP.BI \-require\-extension \ nameLoads the syntax-extension.I namebefore the source program is processed. This is identical to adding .B require\-extension\ NAMEat the start ofthe compiled program..TP.B \-run\-time\-macrosMakes low-level macros (defined with .B define\-macroalso available at run-time. By defaultlow-level macros are not available at run-time. Note that highlevel-macros ("syntax-case") defined in compiled code are never available at run-time..TP.B \-to\-stdoutWrite compiled code to standard output instead of creating a.I .cfile..TP.BI \-unit \ nameCompile this file as a library unit..TP.B \-unsafeDisable runtime safety checks..TP.B \-unsafe\-librariesMarks the generated file for being linked with the unsafe runtime system. Thisshould be used when generating shared object files that are to be loadeddynamically. If the marker is present, any attempt to load code compiled withthis option will signal an error..TP.BI \-uses \ nameUse definitions in the given library unit..TP.B \-usual\-integrationsSpecifies that standard procedures and certain internal procedures are never redefined, and canbe inlined. This is equivalent to declaring .I (usual\-integrations)\..TP.B \-verbosePrints progress information to standard output during compilation..TP.B \-versionPrints the version and some copyright information and exit the compiler..SH ENVIRONMENT\ VARIABLES.TP.B CHICKEN_PREFIXIs used as a prefix directory for support files, include-files and libraries..TP.B CHICKEN_INCLUDE_PATHContains one or more pathnames where the compiler should additionally look for include-files, separated by .B \;characters..TP.B CHICKEN_OPTIONSHolds a string of default compiler options that should apply to every invocation of.B chicken\..SH DOCUMENTATIONMore information can be found in the.I Chicken\ User's\ Manual.SH AUTHORSFelix L. Winkelmann and The Chicken Team..SH SEE ALSO.BR csc(1).BR chicken-bug(1)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -