⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index.html

📁 gcc手册
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<li><a name="toc_GNU%20Project" href="GNU-Project.html#GNU%20Project">The GNU Project and GNU/Linux</a>

<li><a name="toc_Copying" href="Copying.html#Copying">GNU GENERAL PUBLIC LICENSE</a>

<ul>

<li><a href="Copying.html#Copying">Preamble</a>

<li><a href="Copying.html#Copying">How to Apply These Terms to Your New Programs</a>

</li></ul>

<li><a name="toc_GNU%20Free%20Documentation%20License" href="GNU-Free-Documentation-License.html#GNU%20Free%20Documentation%20License">GNU Free Documentation License</a>

<ul>

<li><a href="GNU-Free-Documentation-License.html#GNU%20Free%20Documentation%20License">ADDENDUM: How to use this License for your documents</a>

</li></ul>

<li><a name="toc_Contributors" href="Contributors.html#Contributors">Contributors to GCC</a>

<li><a name="toc_Option%20Index" href="Option-Index.html#Option%20Index">Option Index</a>

<li><a name="toc_Index" href="Index.html#Index">Index</a>

</li></ul>

</div>



<div class="node">

<p>

Node:<a name="Top">Top</a>,

Next:<a rel="next" accesskey="n" href="Contributing.html#Contributing">Contributing</a>,

Up:<a rel="up" accesskey="u" href="../index.html#DIR">(DIR)</a>

<hr><br>

</div>



<h2 class="unnumbered">Introduction</h2>



   <p>This manual documents the internals of the GNU compilers, including

how to port them to new targets and some information about how to

write front ends for new languages.  It corresponds to GCC version

3.3.  The use of the GNU compilers is documented in a

separate manual.  See <a href="../gcc/index.html#Top">Introduction</a>.



   <p>This manual is mainly a reference manual rather than a tutorial.  It

discusses how to contribute to GCC (see <a href="Contributing.html#Contributing">Contributing</a>), the

characteristics of the machines supported by GCC as hosts and targets

(see <a href="Portability.html#Portability">Portability</a>), how GCC relates to the ABIs on such systems

(see <a href="Interface.html#Interface">Interface</a>), and the characteristics of the languages for

which GCC front ends are written (see <a href="Languages.html#Languages">Languages</a>).  It then

describes the GCC source tree structure and build system, some of the

interfaces to GCC front ends, and how support for a target system is

implemented in GCC.



   <p>Additional tutorial information is linked to from

<a href="http://gcc.gnu.org/readings.html">http://gcc.gnu.org/readings.html</a>.



<ul class="menu">

<li><a accesskey="1" href="Contributing.html#Contributing">Contributing</a>:     How to contribute to testing and developing GCC. 

<li><a accesskey="2" href="Portability.html#Portability">Portability</a>:      Goals of GCC's portability features. 

<li><a accesskey="3" href="Interface.html#Interface">Interface</a>:        Function-call interface of GCC output. 

<li><a accesskey="4" href="Languages.html#Languages">Languages</a>:        Languages for which GCC front ends are written. 

<li><a accesskey="5" href="Source-Tree.html#Source%20Tree">Source Tree</a>:      GCC source tree structure and build system. 

<li><a accesskey="6" href="Passes.html#Passes">Passes</a>:           Order of passes, what they do, and what each file is for. 

<li><a accesskey="7" href="Trees.html#Trees">Trees</a>:            The source representation used by the C and C++ front ends. 

<li><a accesskey="8" href="RTL.html#RTL">RTL</a>:              The intermediate representation that most passes work on. 

<li><a accesskey="9" href="Machine-Desc.html#Machine%20Desc">Machine Desc</a>:     How to write machine description instruction patterns. 

<li><a href="Target-Macros.html#Target%20Macros">Target Macros</a>:    How to write the machine description C macros and functions. 

<li><a href="Host-Config.html#Host%20Config">Host Config</a>:      Writing the <code>xm-</code><var>machine</var><code>.h</code> file. 

<li><a href="Fragments.html#Fragments">Fragments</a>:        Writing the <code>t-</code><var>target</var><code></code> and <code>x-</code><var>host</var><code></code> files. 

<li><a href="Collect2.html#Collect2">Collect2</a>:         How <code>collect2</code> works; how it finds <code>ld</code>. 

<li><a href="Header-Dirs.html#Header%20Dirs">Header Dirs</a>:      Understanding the standard header file directories. 

<li><a href="Type-Information.html#Type%20Information">Type Information</a>:  GCC's memory management; generating type information.



<p>

</p><li><a href="Funding.html#Funding">Funding</a>:          How to help assure funding for free software. 

<li><a href="GNU-Project.html#GNU%20Project">GNU Project</a>:      The GNU Project and GNU/Linux.



<p>

</p><li><a href="Copying.html#Copying">Copying</a>:          GNU General Public License says

                     how you can copy and share GCC. 

<li><a href="GNU-Free-Documentation-License.html#GNU%20Free%20Documentation%20License">GNU Free Documentation License</a>:  How you can copy and share this manual. 

<li><a href="Contributors.html#Contributors">Contributors</a>:     People who have contributed to GCC.



<p>

</p><li><a href="Option-Index.html#Option%20Index">Option Index</a>:     Index to command line options. 

<li><a href="Index.html#Index">Index</a>: 	    Index of concepts and symbol names. 

</ul>



   <div class="node">

<p>

Node:<a name="Index">Index</a>,

Previous:<a rel="previous" accesskey="p" href="Option-Index.html#Option%20Index">Option Index</a>,

Up:<a rel="up" accesskey="u" href="index.html#Top">Top</a>

<hr><br>

</div>



<h2 class="unnumbered">Index</h2>



<ul class="index-cp" compact>

<li><code>!</code> in constraint: <a href="Multi-Alternative.html#Multi-Alternative">Multi-Alternative</a>

<li><code>#</code> in constraint: <a href="Modifiers.html#Modifiers">Modifiers</a>

<li><code>#</code> in template: <a href="Output-Template.html#Output%20Template">Output Template</a>

<li><code>#pragma</code>: <a href="Misc.html#Misc">Misc</a>

<li><code>%</code> in constraint: <a href="Modifiers.html#Modifiers">Modifiers</a>

<li>% in GTY option: <a href="GTY-Options.html#GTY%20Options">GTY Options</a>

<li><code>%</code> in template: <a href="Output-Template.html#Output%20Template">Output Template</a>

<li><code>&amp;</code> in constraint: <a href="Modifiers.html#Modifiers">Modifiers</a>

<li>(nil): <a href="RTL-Objects.html#RTL%20Objects">RTL Objects</a>

<li><code>*</code> in constraint: <a href="Modifiers.html#Modifiers">Modifiers</a>

<li><code>*</code> in template: <a href="Output-Statement.html#Output%20Statement">Output Statement</a>

<li><code>+</code> in constraint: <a href="Modifiers.html#Modifiers">Modifiers</a>

<li><code>/c</code> in RTL dump: <a href="Flags.html#Flags">Flags</a>

<li><code>/f</code> in RTL dump: <a href="Flags.html#Flags">Flags</a>

<li><code>/i</code> in RTL dump: <a href="Flags.html#Flags">Flags</a>

<li><code>/j</code> in RTL dump: <a href="Flags.html#Flags">Flags</a>

<li><code>/s</code> in RTL dump: <a href="Flags.html#Flags">Flags</a>

<li><code>/u</code> in RTL dump: <a href="Flags.html#Flags">Flags</a>

<li><code>/v</code> in RTL dump: <a href="Flags.html#Flags">Flags</a>

<li><code>0</code> in constraint: <a href="Simple-Constraints.html#Simple%20Constraints">Simple Constraints</a>

<li><code>&lt;</code> in constraint: <a href="Simple-Constraints.html#Simple%20Constraints">Simple Constraints</a>

<li><code>=</code> in constraint: <a href="Modifiers.html#Modifiers">Modifiers</a>

<li><code>&gt;</code> in constraint: <a href="Simple-Constraints.html#Simple%20Constraints">Simple Constraints</a>

<li><code>?</code> in constraint: <a href="Multi-Alternative.html#Multi-Alternative">Multi-Alternative</a>

<li>\: <a href="Output-Template.html#Output%20Template">Output Template</a>

<li><code>__builtin_args_info</code>: <a href="Varargs.html#Varargs">Varargs</a>

<li><code>__builtin_classify_type</code>: <a href="Varargs.html#Varargs">Varargs</a>

<li><code>__builtin_next_arg</code>: <a href="Varargs.html#Varargs">Varargs</a>

<li><code>__builtin_saveregs</code>: <a href="Varargs.html#Varargs">Varargs</a>

<li><code>__CTOR_LIST__</code>: <a href="Initialization.html#Initialization">Initialization</a>

<li><code>__DTOR_LIST__</code>: <a href="Initialization.html#Initialization">Initialization</a>

<li><code>__main</code>: <a href="Collect2.html#Collect2">Collect2</a>

<li><code>abort</code>: <a href="Portability.html#Portability">Portability</a>

<li><code>abs</code>: <a href="Arithmetic.html#Arithmetic">Arithmetic</a>

<li><code>abs</code> and attributes: <a href="Expressions.html#Expressions">Expressions</a>

<li><code>absence_set</code>: <a href="Automaton-pipeline-description.html#Automaton%20pipeline%20description">Automaton pipeline description</a>

<li><code>abs</code><var>m</var><code>2</code> instruction pattern: <a href="Standard-Names.html#Standard%20Names">Standard Names</a>

<li>absolute value: <a href="Arithmetic.html#Arithmetic">Arithmetic</a>

<li>access to operands: <a href="Accessors.html#Accessors">Accessors</a>

<li>accessors: <a href="Accessors.html#Accessors">Accessors</a>

<li><code>ACCUMULATE_OUTGOING_ARGS</code>: <a href="Stack-Arguments.html#Stack%20Arguments">Stack Arguments</a>

<li><code>ACCUMULATE_OUTGOING_ARGS</code> and stack frames: <a href="Function-Entry.html#Function%20Entry">Function Entry</a>

<li><code>ADA_LONG_TYPE_SIZE</code>: <a href="Type-Layout.html#Type%20Layout">Type Layout</a>

<li><code>ADDITIONAL_REGISTER_NAMES</code>: <a href="Instruction-Output.html#Instruction%20Output">Instruction Output</a>

<li><code>add</code><var>m</var><code>3</code> instruction pattern: <a href="Standard-Names.html#Standard%20Names">Standard Names</a>

<li><code>addr_diff_vec</code>: <a href="Side-Effects.html#Side%20Effects">Side Effects</a>

<li><code>addr_diff_vec</code>, length of: <a href="Insn-Lengths.html#Insn%20Lengths">Insn Lengths</a>

<li><code>ADDR_EXPR</code>: <a href="Expression-trees.html#Expression%20trees">Expression trees</a>

<li><code>addr_vec</code>: <a href="Side-Effects.html#Side%20Effects">Side Effects</a>

<li><code>addr_vec</code>, length of: <a href="Insn-Lengths.html#Insn%20Lengths">Insn Lengths</a>

<li>address constraints: <a href="Simple-Constraints.html#Simple%20Constraints">Simple Constraints</a>

<li><code>ADDRESS_COST</code>: <a href="Costs.html#Costs">Costs</a>

<li><code>address_operand</code>: <a href="Simple-Constraints.html#Simple%20Constraints">Simple Constraints</a>

<li>addressing modes: <a href="Addressing-Modes.html#Addressing%20Modes">Addressing Modes</a>

<li><code>addressof</code>: <a href="Regs-and-Memory.html#Regs%20and%20Memory">Regs and Memory</a>

<li><code>ADJUST_FIELD_ALIGN</code>: <a href="Storage-Layout.html#Storage%20Layout">Storage Layout</a>

<li><code>ADJUST_INSN_LENGTH</code>: <a href="Insn-Lengths.html#Insn%20Lengths">Insn Lengths</a>

<li>aggregates as return values: <a href="Aggregate-Return.html#Aggregate%20Return">Aggregate Return</a>

<li><code>ALL_COP_ADDITIONAL_REGISTER_NAMES</code>: <a href="MIPS-Coprocessors.html#MIPS%20Coprocessors">MIPS Coprocessors</a>

<li><code>ALL_REGS</code>: <a href="Register-Classes.html#Register%20Classes">Register Classes</a>

<li><code>ALLOCATE_INITIAL_VALUE</code>: <a href="Misc.html#Misc">Misc</a>

<li><code>allocate_stack</code> instruction pattern: <a href="Standard-Names.html#Standard%20Names">Standard Names</a>

<li><code>ALLOCATE_TRAMPOLINE</code>: <a href="Trampolines.html#Trampolines">Trampolines</a>

<li>alternate entry points: <a href="Insns.html#Insns">Insns</a>

<li>analysis, data flow: <a href="Passes.html#Passes">Passes</a>

<li><code>and</code>: <a href="Arithmetic.html#Arithmetic">Arithmetic</a>

<li><code>and</code> and attributes: <a href="Expressions.html#Expressions">Expressions</a>

<li><code>and</code>, canonicalization of: <a href="Insn-Canonicalizations.html#Insn%20Canonicalizations">Insn Canonicalizations</a>

<li><code>and</code><var>m</var><code>3</code> instruction pattern: <a href="Standard-Names.html#Standard%20Names">Standard Names</a>

<li><code>APPLY_RESULT_SIZE</code>: <a href="Scalar-Return.html#Scalar%20Return">Scalar Return</a>

<li><code>ARG_POINTER_CFA_OFFSET</code>: <a href="Frame-Layout.html#Frame%20Layout">Frame Layout</a>

<li><code>ARG_POINTER_REGNUM</code>: <a href="Frame-Registers.html#Frame%20Registers">Frame Registers</a>

<li><code>ARG_POINTER_REGNUM</code> and virtual registers: <a href="Regs-and-Memory.html#Regs%20and%20Memory">Regs and Memory</a>

<li><code>arg_pointer_rtx</code>: <a href="Frame-Registers.html#Frame%20Registers">Frame Registers</a>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -