我的地盘我做主! 博客:http://tester2test.cnblogs.com/   msn:win_soft@163.com

GCC 术语表

上一篇 / 下一篇  2007-04-24 12:11:06 / 个人分类:其他

51Testing软件测试网#T C O.q+mY@7]
 absolute address (绝对地址)

([H4KF'V-X5_&vj0

X m$RuF+z+r0绝对地址是一个惟一的可用来指定某个内存字节的数字数值。参见相对地址。 51Testing软件测试网,G9uCq~1nhL

address (地址)

51Testing软件测试网6rsbD2?!ER

参见绝对地址和相对地址。

&G [ \Yr;X$~)\2O0

aggregate (聚集)

51Testing软件测试网+w9y2t:?A m2N*Z3s

包含多于一个基本数据类型的数据类型。例如,数组是一种聚集, C 的结构( struct )也是。 51Testing软件测试网5e2tvyD:ot

aliasing (别名机制)

51Testing软件测试网 |7f I!R3X,c9vb+l)M

同一内存地址可直接或间接地通过两个或多个不同名字(可能还有不同的数据结构)进行访问,这被叫做别名。由于在寄存器中保留数值是比较常见的做法,因此这是对于优化采取的特殊考虑。

U2g$z yWq_0

ANSI ( American National Standards Institute ,美国国家标准协会)

"o#sz1G4kzA?,s'x#N]b1e0管理和协调美国自发标准的组织。

SE[g { Q Y0

archive (文档)

Uc4mO+m!}!fQw0参见库。 51Testing软件测试网y.b/U9?T,a C

assembler (汇编器)

/G.NCE }&`0一个平台相关的程序,它读取汇编语言源文件(机器代码的助记表示)并将其翻译为作为连接程序输入的二进制目标文件。 51Testing软件测试网*m6E.D W5V-V

backtrace (回退跟踪)

51Testing软件测试网0o,y3}ND? IP I

GNU 调试器可以打印函数名和地址的列表,它会被调用以达到程序的当前执行点。这些信息,包括函数地址和参数值,称为回退跟踪。 51Testing软件测试网%f:E3r%Ui3}OTO'C

BFD ( Binary File Descriptor ,二进制文件描述字 )

y0u!mB7]0包含处理各种二进制文件格式完成各种底层操作的例程的库。 51Testing软件测试网?ov(T Z'cx'C

BSD ( Berkeley Software/Standard Distribution , Berkeley 软件 / 标准发行)

51Testing软件测试网6t,Q(F!G/nm ? UE0^

一种 UNIX 操作系统。它也是几种其他现代 UNIX 系统的基础。参见 SVR4 。 51Testing软件测试网_*Cj Tx L

bss

51Testing软件测试网2w Y)RC8VU!v3od o

由 UNIX 连接程序生成的可执行文件的未初始化数据段。它包含的数据只有地址但不包含任何空间。因此,直到程序被加载时才会分配空间。在可执行文件中, bss 变量只被赋以名字、尺寸和位置。参见 text 和 data 。

9I)C Je!hE+c2aF0

built in function (内嵌函数)

u*],bX]S$JZIv0由编译程序所生成的函数体称为内嵌函数。一个内嵌函数可以是相应标准库函数的优化版本、编译程序的附加功能或是实现诸如变长参数列表等内部使用的函数。

b6Urt ce0

bytecode (字节码)

51Testing软件测试网kv4j0E @BA.yY

编译 Java 程序所生成的目标代码的可移植形式。字节码由 Java 虚拟机解释以执行 Java 程序。 51Testing软件测试网C8m*e&EJy,I[5y

C89

*lcn'K;d^'TK\e01989 ANSI C 标准。 51Testing软件测试网m\M0E|(Z!l$A

C99

w/]|/} [01999 ANSI C 标准。

.PpcO/No2@0

calling convention (调用规范)

3o2MtQ4l0参见调用序列。 51Testing软件测试网+L@"zB-Ga)_

calling sequence (调用序列)

51Testing软件测试网7ol&j1N?6p5_O u2A

用来调用函数的汇编语言的语句序列。该序列设置需要传递的参数、保存返回的地址以保证可以找到调用函数,执行调用并管理返回值(如果有的话)。也叫做调用规范。 51Testing软件测试网"};~t#Y-a CRl.nieN

CCP ( Conditional Code Propagation ,条件代码传播)

51Testing软件测试网y A!lGJ[@3~

一种优化技术,可以发现某值对所有可能的执行路径均为常量,并用这一事实来探测和删除不可能被执行的代码。

$h:I;mbP8uQ0

cfront

51Testing软件测试网"s&tuN,y Iyn4u

最初的 C++ 实现是一个称为 cfront 的 AT&T 程序,它将 C++ 源代码翻译为 C 源代码。 51Testing软件测试网 \.f w/h6d{ T0Y~

class (类)

/h+_9\-wm01. 在面向对象编程中,一个类就是一个对象类型的定义。由它所生成的对象,由于它们具有相同的接口和行为集,称它们属于同一类。 2. 在 Java 中,包含已编译类的文件称为类文件,或简称为类。 51Testing软件测试网i*T,iK.{eE

clobber (破坏)

51Testing软件测试网#bc?-Y/}ymh

如果存储位置(通常为一个寄存器)已经被用作一个临时工作区,它就不再保存所预期的数值,这个存储位置就称为被破坏( clobbered )了。 51Testing软件测试网'Q&}(z(qJ

CNI ( Cygnus Native Interface , Cygnus 本地接口)

51Testing软件测试网 S)q V4T9v-E V{*R9B

在 C++ 中,用于编写本地 Java 方法的工具。参见 JNI 。 51Testing软件测试网m a([&j+EO.QIw&P"x

code (代码)

51Testing软件测试网o`u4QIjj{"\

这个术语是指计算机上运行的任何形式的指令列表。代码可以是所有形式,从人可读的编程源码到机器可读的操作码的位模式。

7y*O Z/uQ$l;pb0

code propagation (代码传播)

B`^P'w@p0参见 CPP 。

o2ceD0qah o@0

coercion (自动转换)

.Sc-B"i#eu0由一种基础数据类型到另一种的自动转换(没有强制类型转换或函数调用)。 51Testing软件测试网"[+h+H2z#fl&v(A4zs BR

COFF ( Common Object File Format ,通用目标文件格式)

5Z iQV(x8Xo&M;_n0一种可跨系统移植的并由各种不同的汇编器和连接程序所了解的目标文件的标准格式。参见 ECOFF 和 XCOFF 。 51Testing软件测试网lB#y'yb:n\Z/`

COMDAT ( Common Data ,通用数据)

可以在不只一个目标文件中被复制的一种数据或可执行项(或项目的集合)。当将目标
#CX7l[.df051Testing软件测试网-xZ1a!]&_qn^ X
文件和库或可执行体组合起来时,连接程序会去掉所有通用数据,只留下其中一份数据。这也称为合拢或通用数据合拢。 51Testing软件测试网Z9GT4KQH7J

 51Testing软件测试网+r%H.s {*NE

common (通用) 51Testing软件测试网2O)o2v i2a0B%l;L

可为公用块分配的全局变量属性。

aQPY%P9x'}0

common block (公用块)

W z+[8^-gVo/sN[|$g0GNU 连接程序创建一个公用块作为全局变量的分配空间。如果不同的目标文件多次声明了相同的全局变量,它们会被解析为公用块中单独的一个变量。参见 COMDAT 。 51Testing软件测试网V_x)Zq nLIE

compilation unit (编译单元)

51Testing软件测试网-eKW@4`@V9`

可被编译为单独目标文件的单独源代码单位。它通常就是单独的一个源文件,但也可以包含其他辅助编译的源代码(如 C 程序中 #include 文件)。也称为翻译单元。

+z.MQB:Bka)T0

compiler (编译程序)

51Testing软件测试网E2q {$qH%?.ir

读取计算机程序的源文件(或文本文件)的软件集合,可将指令翻译成计算机可执行的格式。编译程序也称为翻译器( translator )。 51Testing软件测试网 y@}'Rm$M%Y

copyleft (版权所属)

51Testing软件测试网QM,r(h9_:GF

同通用许可证,它声明程序是自由软件并且所有修改和扩展的软件版本均可以自由发行。参见 GPL 。

_^-F#t2E9g Q1{0x|0

cross compile (交叉编译)

51Testing软件测试网@r$Q@!GY3S

使用一种编译程序创建在完全不同平台上执行的可执行文件。

'F xEEzflp2G3k0

CPP ( C Preprocessor , C 预处理程序)

51Testing软件测试网3V,Q7d/F)C Q

预处理程序读取程序源码,并处理其中的指示字以产生源码的修改版本。

([|'ng"wQoU0

cruft

51Testing软件测试网&Y2i:Uwn4jF

随着软件的发展,以及经历了修改 bug 和更新的若干周期,它的部分代码已不再使用但仍然保留在源码中。这种代码称为 cruft 。 cruft 的尺寸范围可由一两行无用代码到整个源文件模块。由于很难识别 cruft ,去除 cruft 往往很困难。

:@yFs:p9K0

CSE ( Common Subexpression Elimination ,通用子表达式消除)

T)b/@)OXK3z5~0一种优化技术,它可以识别重复的表达式并重用它的值,而不是再次执行相应的计算。参见 GCSE 。 51Testing软件测试网$e? Px n RG`%]

ctor

\ KqhFd1RT0构造函数 constructor 的通用缩写。参见 dtor 。

+tJO[e,r6n0

CVS ( Concurrent Version System ,同步版本系统)

51Testing软件测试网S5L9l9z7T;m

一种版本控制系统,它可以维护文本文件的版本历史信息。设计它是为使广泛分布于各地的不同开发者可同时访问。 51Testing软件测试网#l7TT/lM2I%E+c

data

f8RG r3OSW/x0由 UNIX 连接程序生成的可执行文件的一部分,其中包含的数据具有初始值。该段包含的项具有名字、大小,且会分配相应的空间包含它的数值。参见 bss 和 text 。

NA{7rz5hv0

DBX

51Testing软件测试网] N+UsfDq9l

一种交互式调试器,它可以用来一行行地跟踪程序的执行。 DBX 是一种命令行调试器,但在许多变体中它具有 X GUI 界面和 emacs 界面。 51Testing软件测试网7m)k6]s/sY4fJNE

DCE ( Dead Code Elimination ,不可达代码去除 )

51Testing软件测试网~/t `d'z[5r!vU

一种删除不可能被执行的代码的优化技术。

+W&cm$r2}y J0

dead code (不可达代码)

51Testing软件测试网't/T@2C'WM'P q

在优化期间,可能留下某些代码但从不会被执行。这些就是不可达代码。优化器应该去除这些代码。 51Testing软件测试网Y IIy&qF Y_Pd

demangle

7ax{tf0解析出编码在已经拆分( mangle )了的函数名中的描述信息的过程。参见 mangle 。

nJ S"Bo }3V Yw j0

deprecated (已废止的)

51Testing软件测试网AYcN]c)EJp~

任何不再需要的编译程序的选项或功能(或是因为某些原因而认为不再恰当的)被称为是已废止的。它仍然存在但在以后的编译程序版本中可能去除。

)tW/py4D&z E0

dereference (去引用)

L@,]^;m9nQ,~kM P0表达式可能会涉及保存在指针中的地址。用这种方式使用的指针就称为是去引用的。

9SEp6C~*C ]:H8dk0

directive (指示字)

51Testing软件测试网fB3@k:B8fl.xb

1. 源代码中使用井号 (#) 开头的命令,它由预处理程序处理。 2. 在汇编语言中,一条指示字就是一条针对汇编器的指令,而不是产生代码的操作码。汇编器指示字也称为伪操作。

O9{X(_e0

distention (膨胀)

51Testing软件测试网s ^I+aW

该名字用于某些特定 Fortran 语言扩展,现在均认为非常“丑陋”而不该使用。通过 -fugly-* 标记, g77 可支持某些扩展。 51Testing软件测试网XV'S4r;Pyye/S

dtor

51Testing软件测试网Vu7U'| b H5j

析构函数 destructor 的通用缩写。参见 ctor 。

:TO|5}f%n/z$n0

DWARF ( Debugging With Attribute Format ,带属性的调试格式)

51Testing软件测试网r/Y&l s)y!H yB U}

一种用来在目标代码中插入调试信息的格式。 51Testing软件测试网/n-v*G!u1~7KM c/j

DWARF2 ( Debugging With Attribute Format 2 ,带属性的调试格式 2 )

51Testing软件测试网n8AFtp)i{

DWARF 的更新版本,该格式用来在目标代码中插入调试信息。

#_)xjPj4T0

dynamic library (动态库)

51Testing软件测试网,N9z;N2QS{

参见库。 51Testing软件测试网`"qN!|)vSBA

ECOFF ( Extended Common Object File Format ,扩展通用目标文件格式)

v.W$\+i e/}ro0目标文件的标准格式,它具备系统间的可移植性,且不同汇编器和连接程序均了解该格式使用。参见 COFF 和 XCOFF 。 51Testing软件测试网~#J1yI6p

EH

2Um b0L[ B Y e7k~0异常处理( exception handling )的缩写。

/{^Oe/h3] f4pZ0

elaborate (详细阐述)

Ul$d:OljxP#m0在 Ada 中,执行前的最后一步是通过插入必要的初始值和可执行指令来详细阐述代码,通常需要同一程序中其他编译单元的内容。参见可预阐述( preelaborable )。 51Testing软件测试网EB6G!o_P,W;t5B1g

elaboration (详细阐述)

51Testing软件测试网_~)Dj `qZJp

在 Ada 语言中,详细阐述是所需的详细阐述软件包的过程。 51Testing软件测试网,XoJp/QS:Q7{

ELF ( Executable and Linkable Format ,可执行和可链接格式)

"[o.rfKDLxm2b0Linux 二进制目标文件格式,它包含动态加载库和可执行代码的信息。 ELF 由 COFF 格式演变而来,与 COFF 非常近似。 51Testing软件测试网%i x7Wb{%[

elide (省略)

51Testing软件测试网2k'OAY+^4x

一个被省略的函数就是使用调用者返回位置作为工作空间(而非建立自己的内部工作空间)返回数值的函数,之后它会将返回值复制到返回地址中。优化器可以省略函数调用。 51Testing软件测试网K8|-~4Ei S:V{

entry point (入口点)

y-GN ~|(EU#l0可执行程序中的地址,程序从这里开始执行并称为入口点。 51Testing软件测试网6V~(}-ZF)AJ

fetch (读取)

j8T$cbJPd5y:Q0当计算机由内存中的程序读取指令并加载到 CPU 执行时,这称为指令的读取。参见预取( prefetch )。

2z"Bx"o7~*z u`X$_0

FPU ( Floating Point Unit ,浮点处理单元)

51Testing软件测试网kca x*m.CjG0L@[8s

同 CPU 一起工作处理浮点操作的硬件处理器。没有 FPU 的计算机将需要软件来仿真浮点操作。

M'^9uVx*w'~ Y0

folding (合拢)

}1N~7X,T'rT-?;U r0参见 COMDAT 。

6l[ oc4_Bav0

frame (栈)

u([.|v7PL0参见堆栈框架。 51Testing软件测试网4X6C,KzZ4^

function (函数)

51Testing软件测试网S!DXNX.s;b

函数是一块可执行代码,它被赋予一个名字并可以在其他位置调用。一个函数也可以被定义为带有参数,它指定一列由调用者传递的参数值。参见成员函数和方法。

/B3Xx+My1F%_ C0

garbage collection (无用信息收集)

2V/O F;d&X0一个运行的程序的过程,它可以自动恢复动态分配但不再使用的内存。实现该过程有许多机制,但所有这些均可以被认为是无用信息收集。 51Testing软件测试网K.Wd,EgaK

GCSE ( Global Common Subexpression Elimination ,全局公用子表达式去除)

&tF K%s%pf4eX0一种优化技术,它可以识别重复的表达式并重用它的数值,而不是再次执行相应的计算。参见 CSE 。 51Testing软件测试网bb&j;@+cW7q ^;e j

GNAT ( GNU Ada Translator , GNU Ada 翻译器)

51Testing软件测试网} T4?c1Rj Az

原 Ada 前端的名字,现已成为 GCC 的一部分。

+mJ+V Lb!S0

GNATS ( GNU Bug Tracking System , GNU 错误跟踪系统)

用来跟踪 GCC 和其他 GNU 软件错误的在线系统。 51Testing软件测试网 Y'R a"dxA d
51Testing软件测试网1ho{;D,|9S+XX"W
GOT ( Global Offset Table ,全局偏移表) 51Testing软件测试网Z_7LIh)Sy

目标文件中包含一组偏移的表格,可用来重新定位可执行代码。参见 PIC 。 51Testing软件测试网9z:e@&zgA V

GPL ( General Public License ,通用公共许可证)

B@2QR!t ODIEv0一种许可证,在其许可下软件被编写为 copyleft 格式的自由软件。

D6~/B#K$i8v6_H2V(d0

header (头文件)

2i,MP k4r xu'A0由预处理程序执行 include 指示字并被包含在源文本文件中的文件。在 C , C++ 和 Objective C 中,传统上它是后缀为 .h 的文件。

}'~!@4^-`Y0

Hollerith field ( Hollerith 字段)

51Testing软件测试网:ne,hpij9W

在 Fortran 中,引用的字串被保存为字符数,后面跟着的是字符本身。可以用 Hollerith 字段创建字符串,它是一个长度后跟一个 H 字母以及字符串(例如, 10HPhillips66 )。

0_"xu|Ht Cq0

host (主机)

}WFnu!\!?1~}0参见平台。

'ud1}9b f0

i18n

,oYt`l\:] ~Z0单词 internationalization 的简写形式,它由字母 i 开头,后跟 18 个字符,最后是字母 n 。参见 l10n 。

!`A8_ yFppAq0

if-conversion ( if- 转换)

*K)lY PIw.R0一种优化过程,它会修改已生成的代码,以便分支之后的最可能被采用的路径比不可能采用的路径更有效。

;Qb`a"[J3y6|:m0

immediate (立即数)

h&[[}8K;]0一个立即数值是一个常量,可以在汇编语言操作码中作为操作数使用。 51Testing软件测试网 @*v)b1Y K:dj-f

include guard (包含文件防护)

`A"[zKpi0习惯上使用预处理程序条件编译命令来定义一个环境变量,它可以在头文件的最先部分进行检测,以防止头文件被再次编译。如果变量尚未定义,头文件就会被编译了。

dm7Jp Vof,}z0

induction variable (归纳变量)

C l0w`^{0m0一种在循环体内递增的变量。循环计数器。 51Testing软件测试网vS+]B*R_#cp x"u

inline (内联)

-j,e:Zm5R8~L0一个函数的实体(或其他相似的语言成分)被包含在函数的调用点。就是说函数体将在代码中内嵌展开,而不是只作为对另一处函数体的一次调用。 51Testing软件测试网8|||2x4?I H

insn

51Testing软件测试网g!wd2{ |o.Yh(P;Z

一种机器语言或 RTL 中间语言指令。该语言具有许多特殊用途的 insn ,但最重要的一些构成了一种元汇编语言,可被翻译为目标机器上的汇编语言指令。 51Testing软件测试网 dY3cW!od@Q

instantiation (实例化)

c Hx{"vUH i0由类定义创建对象实例。

d5Ld k{lq+qF0

intrinsic (特质)

51Testing软件测试网s!b_ ]+GpW:h q

在 Fortran 中,特质函数是一种内嵌函数,由于它可以不声明而直接使用,因此被视为语言的一部分。

8JfK8gm9k#l}$Z$?3o0

invariant expression (不变表达式)

R8Z-vS*E8P0循环体内的表达式,每次循环时所计算的数值是不变量,在优化时可以转移到循环外。

BI.TIC u N0

ISO ( International Organization or Standardization ,国际标准化组织)

S/UD"V^Z+B0一个成立于 1946 年的国际标准组织, ISO 的成员来自 75 个国家的标准组织,包括 ANSI 。 51Testing软件测试网 Fo5K yZB

jar

npL} e*X/e%j0一种包含一个或多个 Java 类文件的档案文件。该文件还包含一个清单,是一个包含 jar 文件中类名列表的文本文件。 51Testing软件测试网d5bZNo0] Jg0E3{u%W

Java Virtual Machine ( Java 虚拟机)

51Testing软件测试网 Te'T;wg2E8X.v

参见 JVM 。 51Testing软件测试网8I)[Vlo8`l

JNI ( Java Native Interface , Java 本地接口)

USC5XK0一种标准编程接口,用于编写 Java 本地方法和将 JVM 嵌入到本地应用中。参见 CNI 。 51Testing软件测试网3f4{U)PEFM8B8[

JVM ( Java Virtual Machine , Java 虚拟机)

.G+HD\M0一个程序,它可从标准 Java 字节码格式的文件中读取指令并执行。向一个平台上移植 JVM 和标准类库实际上就是向该平台移植了所有的 Java 程序。

Bt-Ud wn,a(r0

l10n

51Testing软件测试网Z)x9L&N%ZBi6F#_3z

单词 localization 的简写,其起始字母是 l ,其后是 10 个字母,结尾字母是 n 。参见 i18n 。

9PU%["r?0

lexical analysis (词法分析)

51Testing软件测试网Qj)F["j1ndR

也称为词法扫描,词法分析就是从程序源文件中读取输入字符流,并按照某种方式组合它们,形成名字、数字以及标点。由一些字符集合构成的单元称为一个 token 。 51Testing软件测试网0k#V%_:@vk:a1K@#V

LGPL ( Lesser General Public License ,次要的通用公共许可证)

h!_^+dcW@Qru B0该许可证可用于某些(但不是全部) GNU 库。该许可证允许库函数用于某些私有程序,通常这是 GPL 所不允许的。 51Testing软件测试网WP$_lsp

library (库)

\+|9lG7Lc2|;v8r0库是一个包含一个或多个目标文件的文件,它可以链接到其他目标文件组成可执行文件。静态库就是包含由连接程序永久链接到可执行程序的模块的库。静态库也称为文案。共享库就是包含可以临时链接到可执行程序并在执行时进行真正链接的模块的库。共享库也称为动态库。动态链接的程序就是包含到这些函数的引用的可执行程序,当程序执行时,它会从动态库中加载这些函数。参见静态库和相对地址。

l1w"X0H,D Y)k2~Vd^0

life analysis (生命周期分析)

51Testing软件测试网'l%]*?6T6n

确定哪个数值应该留在寄存器中可供后用的过程,同时也确定哪个寄存器不会被使用,因为其中包含的数值不再使用。

` _H'tOP3@&S0

link editor (链接编辑器)

_Q9V MxD3M%@-h0与连接程序相同。 51Testing软件测试网+nix G*\ d9a"R

linkage (链接)

51Testing软件测试网6BZ#g7g ds

当调用函数时,必须用标准方法来存储和读取传递给函数的参数以及函数所返回的数值。这种协议称为链接,而且是混合两种语言时要解决的主要问题。 51Testing软件测试网%c;p*\6zjSV(F7z

linker (链接程序)

2Tppk+_3B.SscT0一种平台相关的程序,可将一组目标文件(某些必须由库中析取)组合在一起生成一个可执行程序。 51Testing软件测试网$XK;Y}$S3c0c;@

lvalue (左值)

m,L8Ptf Jx*}0一种任意类型的表达式,可以解析为内存单元的某个地址。这个术语源于 left value ,就是指赋值语句中左边的部分的值。参见右值( rvalue )。 51Testing软件测试网"P8\)L5G5H9|


$d!~stoA9Hi N0
B,Tz.F1h2xX'j0
测试者家园 2006-11-27 22:39 发表评论

V w.x-RK-sG.H2T1MF051Testing软件测试网"kQ*{ q4i-Q,MS/u3E3ER
Link URL: http://www.cnblogs.com/tester2test/archive/2006/11/27/574447.html

TAG:

 

评分:0

我来说两句

Open Toolbar