如果在可执行模块中,把这个选项说明的寄存器用作固定角色将会产生灾难性结果,如栈指针或帧指针.
这个选项没有否定格式,因为它列出三路选择.
-fcall-saved-reg
把名为reg的寄存器按函数保护的可分配寄存器看待.可以临时使用或当做变量使用,它甚至能在函数间 生存.这样编译的函数会保存和恢复使用中的reg寄存器.
如果在可执行模块中,把这个选项说明的寄存器用作固定角色将会产生灾难性结果,如栈指针或帧指针.
另一种灾难是用这个选项说明的寄存器返回函数值.
这个选项没有否定格式,因为它列出三路选择.
PRAGMAS
GNU C++支持两条`#pragma'指令使同一个头文件有两个用途:对象类的接口定义, 对象类完整的内容定义.
#pragma interface
(仅对C++)在定义对象类的头文件中,使用这个指令可以节省大部分采用该类的目标文件的大小.一般说来,某些信息 (内嵌成员函数的备份副件,调试信息,实现虚函数的内部表格等)的本地副件必须保存在包含类定义的各个目标文件中.使用这个 pragma指令能够避免这样的复制.当编译中引用包含 `#pragma interface'指令的头文件时,就 不会产生这些辅助信息(除非输入的主文件使用了 `#pragma implementation'指令).作为替代,目标文件 将包含可被连接时解析的引用(reference).
#pragma implementation
#pragma implementation "objects.h"
(仅对C++)如果要求从头文件产生完整的输出(并且全局可见),你应该在主输入文件中使用这条pragma.头文件 中应该依次使用 `#pragma interface'指令.在implementation文件中将产生全部内嵌成员函数 的备份,调试信息,实现虚函数的内部表格等.
如果`#pragma implementation'不带参数,它指的是和源文件有相同基本名的包含文件;例如, `allclass.cc'中, `#pragma implementation'等于 `#pragma implementation allclass.h'.如果某个implementation文件需要从多个头文件引入代码,就应该 使用这个字符串参数.
不可能把一个头文件里面的内容分割到多个implementation文件中.
文件(FILE)
file.c C源文件
file.h C头文件(预处理文件)
file.i 预处理后的C源文件
file.C C++源文件
file.cc C++源文件
file.cxx C++源文件
file.m Objective-C源文件
file.s 汇编语言文件
file.o 目标文件
a.out 连接的输出文件
TMPDIR/cc* 临时文件
LIBDIR/cpp 预处理器
LIBDIR/cc1 C编译器
LIBDIR/cc1plus C++编译器
LIBDIR/collect 某些机器需要的连接器前端(front end)程序
LIBDIR/libgcc.a GCC子例程(subroutine)库
/lib/crt[01n].o 启动例程(start-up)
LIBDIR/ccrt0 C++的附加启动例程
/lib/libc.a 标准C库,另见intro (3)
/usr/include #include文件的标准目录
LIBDIR/include #include文件的标准gcc目录
LIBDIR/g++-include #include文件的附加g++目录
LIBDIR通常为/usr/local/lib/machine/version.
TMPDIR来自环境变量TMPDIR (如果存在,缺省为/usr/tmp ,否则为 /tmp).
另见(SEE ALSO)
cpp(1), as(1), ld(1), gdb(1), adb(1), dbx(1), sdb(1).
info中 `gcc', `cpp', `as', `ld',和`gdb'的条目.
Using and Porting GNU CC (for version 2.0), Richard M. Stallman; The C Preprocessor, Richard M. Stallman; Debugging with GDB: the GNU Source-Level Debugger, Richard M. Stallman和 Roland H. Pesch; Using as: the GNU Assembler, Dean Elsner, Jay Fenlason & friends; ld: the GNU linker, Steve Chamberlain和Roland Pesch.
BUGS
关于报告差错的指导请查阅GCC手册.
版权(COPYING)
Copyright 1991, 1992, 1993 Free Software Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English.
作者(AUTHORS)
关于GNU CC的奉献者请查阅GUN CC手册.
上一页 [1] [2] [3]
本文关键字:中文 AVR单片机,单片机-工控设备 - AVR单片机