mirror of
https://github.com/cc65/cc65.git
synced 2025-03-01 11:29:27 +00:00
Describe new --check-stack option and related #pragma. Added missing
descriptions for the options to set the segment names from the command line. git-svn-id: svn://svn.cc65.org/cc65/trunk@636 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
9bf849151d
commit
83f8ce6f39
@ -74,17 +74,22 @@ Short options:
|
||||
-W Suppress warnings
|
||||
|
||||
Long options:
|
||||
--ansi Strict ANSI mode
|
||||
--cpu type Set cpu type
|
||||
--debug Debug mode
|
||||
--debug-info Add debug info to object file
|
||||
--help Help (this text)
|
||||
--include-dir dir Set an include directory search path
|
||||
--signed-chars Default characters are signed
|
||||
--static-locals Make local variables static
|
||||
--target sys Set the target system
|
||||
--verbose Increase verbosity
|
||||
--version Print the compiler version number
|
||||
--ansi Strict ANSI mode
|
||||
--bss-name seg Set the name of the BSS segment
|
||||
--check-stack Generate stack overflow checks
|
||||
--code-name seg Set the name of the CODE segment
|
||||
--cpu type Set cpu type
|
||||
--data-name seg Set the name of the DATA segment
|
||||
--debug Debug mode
|
||||
--debug-info Add debug info to object file
|
||||
--help Help (this text)
|
||||
--include-dir dir Set an include directory search path
|
||||
--rodata-name seg Set the name of the RODATA segment
|
||||
--signed-chars Default characters are signed
|
||||
--static-locals Make local variables static
|
||||
--target sys Set the target system
|
||||
--verbose Increase verbosity
|
||||
--version Print the compiler version number
|
||||
---------------------------------------------------------------------------
|
||||
</verb></tscreen>
|
||||
|
||||
@ -103,6 +108,23 @@ Here is a description of all the command line options:
|
||||
<tt/__STRICT_ANSI__/ is defined, when using one of these options.
|
||||
|
||||
|
||||
<tag><tt>--bss-name seg</tt></tag>
|
||||
|
||||
Set the name of the bss segment.
|
||||
|
||||
|
||||
<tag><tt>--check-stack</tt></tag>
|
||||
|
||||
Tells the compiler to generate code that checks for stack overflows. See
|
||||
<tt><ref id="pragma-checkstack" name="#pragma checkstack"></tt> for an
|
||||
explanation of this feature.
|
||||
|
||||
|
||||
<tag><tt>--code-name seg</tt></tag>
|
||||
|
||||
Set the name of the code segment.
|
||||
|
||||
|
||||
<tag><tt>--cpu CPU</tt></tag>
|
||||
|
||||
A new, still experimental option. You may specify "6502" or "65C02" as
|
||||
@ -137,6 +159,11 @@ Here is a description of all the command line options:
|
||||
Print the short option summary shown above.
|
||||
|
||||
|
||||
<tag><tt>--rodata-name seg</tt></tag>
|
||||
|
||||
Set the name of the rodata segment (the segment used for readonly data).
|
||||
|
||||
|
||||
<tag><tt>-j, --signed-chars</tt></tag>
|
||||
|
||||
Using this option, you can make the default characters signed. Since the
|
||||
@ -430,8 +457,8 @@ This cc65 version has some extensions to the ISO C standard.
|
||||
string.
|
||||
<p>
|
||||
|
||||
<item> cc65 allows the initialization of <tt/void/ variables. This may be
|
||||
used to create variable structures that are more compatible with
|
||||
<item> cc65 allows the initialization of <tt/void/ variables. This may be
|
||||
used to create variable structures that are more compatible with
|
||||
interfaces written for assembler languages. Here is an example:
|
||||
|
||||
<tscreen><verb>
|
||||
@ -447,7 +474,7 @@ This cc65 version has some extensions to the ISO C standard.
|
||||
.word $3000
|
||||
</verb></tscreen>
|
||||
|
||||
Since the variable is of type <tt/void/ you may not use it as is.
|
||||
Since the variable is of type <tt/void/ you may not use it as is.
|
||||
However, taking the address of the variable results in a <tt/void*/
|
||||
which may be passed to any function expecting a pointer.
|
||||
|
||||
@ -567,6 +594,19 @@ generation and other stuff.
|
||||
</verb></tscreen>
|
||||
|
||||
|
||||
<sect1><tt>#pragma checkstack (<const int>)</tt><label
|
||||
id="pragma-checkstack"><p>
|
||||
|
||||
Tells the compiler to insert calls to a stack checking subroutine to detect
|
||||
stack overflows. The stack checking code will lead to somewhat larger and
|
||||
slower programs, so you may want to use this pragma when debugging your
|
||||
program and switch it off for the release version. If a stack overflow is
|
||||
detected, the program is aborted.
|
||||
|
||||
If the argument is zero, stack checks are disabled (the default), otherwise
|
||||
they're enabled.
|
||||
|
||||
|
||||
<sect1><tt>#pragma codeseg (<name>)</tt><p>
|
||||
|
||||
This pragma changes the name used for the CODE segment (the CODE segment
|
||||
@ -579,7 +619,7 @@ generation and other stuff.
|
||||
|
||||
Example:
|
||||
<tscreen><verb>
|
||||
#pragma bssseg ("MyCODE")
|
||||
#pragma bssseg ("MyCODE")
|
||||
</verb></tscreen>
|
||||
|
||||
|
||||
@ -595,7 +635,7 @@ generation and other stuff.
|
||||
|
||||
Example:
|
||||
<tscreen><verb>
|
||||
#pragma bssseg ("MyDATA")
|
||||
#pragma bssseg ("MyDATA")
|
||||
</verb></tscreen>
|
||||
|
||||
|
||||
@ -611,7 +651,7 @@ generation and other stuff.
|
||||
|
||||
Example:
|
||||
<tscreen><verb>
|
||||
#pragma bssseg ("MyRODATA")
|
||||
#pragma bssseg ("MyRODATA")
|
||||
</verb></tscreen>
|
||||
|
||||
|
||||
@ -640,7 +680,7 @@ generation and other stuff.
|
||||
<sect1><tt>#pragma signedchars (<const int>)</tt><label
|
||||
id="pragma-signedchars"><p>
|
||||
|
||||
Changed the signedness of the default character type. If the argument
|
||||
Changes the signedness of the default character type. If the argument
|
||||
is not zero, default characters are signed, otherwise characters are
|
||||
unsigned. The compiler default is to make characters unsigned since this
|
||||
creates a lot better code. This default may be overridden by the
|
||||
|
Loading…
x
Reference in New Issue
Block a user