explicit-reg-vars.html
来自「自己收集的linux入门到学懂高级编程书集 包括linux程序设计第三版」· HTML 代码 · 共 81 行
HTML
81 行
<html lang="en"><head><title>Using the GNU Compiler Collection (GCC)</title><meta http-equiv="Content-Type" content="text/html"><meta name="description" content="Using the GNU Compiler Collection (GCC)"><meta name="generator" content="makeinfo 4.6"><!--Copyright © 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. <p>Permission is granted to copy, distribute and/or modify this documentunder the terms of the GNU Free Documentation License, Version 1.2 orany later version published by the Free Software Foundation; with theInvariant Sections being "GNU General Public License" and "FundingFree Software", the Front-Cover texts being (a) (see below), and withthe Back-Cover Texts being (b) (see below). A copy of the license isincluded in the section entitled "GNU Free Documentation License". <p>(a) The FSF's Front-Cover Text is: <p>A GNU Manual <p>(b) The FSF's Back-Cover Text is: <p>You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development.--><meta http-equiv="Content-Style-Type" content="text/css"><style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller }--></style></head><body><div class="node"><p>Node: <a name="Explicit%20Reg%20Vars">Explicit Reg Vars</a>,Next: <a rel="next" accesskey="n" href="Alternate-Keywords.html#Alternate%20Keywords">Alternate Keywords</a>,Previous: <a rel="previous" accesskey="p" href="Asm-Labels.html#Asm%20Labels">Asm Labels</a>,Up: <a rel="up" accesskey="u" href="C-Extensions.html#C%20Extensions">C Extensions</a><hr><br></div><h3 class="section">Variables in Specified Registers</h3><p>GNU C allows you to put a few global variables into specified hardwareregisters. You can also specify the register in which an ordinaryregister variable should be allocated. <ul><li>Global register variables reserve registers throughout the program. This may be useful in programs such as programming languageinterpreters which have a couple of global variables that are accessedvery often. <li>Local register variables in specific registers do not reserve theregisters. The compiler's data flow analysis is capable of determiningwhere the specified registers contain live values, and where they areavailable for other uses. Stores into local register variables may be deletedwhen they appear to be dead according to dataflow analysis. Referencesto local register variables may be deleted or moved or simplified. <p>These local variables are sometimes convenient for use with the extended<code>asm</code> feature (see <a href="Extended-Asm.html#Extended%20Asm">Extended Asm</a>), if you want to write oneoutput of the assembler instruction directly into a particular register. (This will work provided the register you specify fits the constraintsspecified for that operand in the <code>asm</code>.) </ul><ul class="menu"><li><a accesskey="1" href="Global-Reg-Vars.html#Global%20Reg%20Vars">Global Reg Vars</a>: <li><a accesskey="2" href="Local-Reg-Vars.html#Local%20Reg%20Vars">Local Reg Vars</a>: </ul> </body></html>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?