电脑桌面
添加蜗牛文库到电脑桌面
安装后可以在桌面快捷访问

Linux编程make命令介绍

栏目:合同范文发布:2025-01-29浏览:1收藏

Linux编程make命令介绍

第一篇:Linux编程make命令介绍

Linux编程make命令介绍

摘要:在开发一个系统时,一般是将一个系统分成几个模块,这样做提高了系统的可维护性,但由于各个模块间不可避免存在关联,所以当一个模块改动后,其他模 块也许会有所更新,当然对小系统来说,手工编译连接是没问题,但是如果是一个大系统,存在很多个模块,那么手工编译的方法就不适用了。为此,在Linux系统中,专门提供了一个make命令来自动维护目标文件,与手工编译和连接相比,make命令的优点在于他只更新修改过的文件(在Linux中,一个文件被创建或更新后有一个最后修改时间,make命令就是通过这个最后修改时间来判断此文件是否被修改),而对没修改的文件则置之不理,并且make命令不会漏掉一个需要更新的文件。

文件和文件间或模块或模块间有可能存在倚赖关系,make命令也是依据这种依赖关系来进行维护的,所以我们有必要了解什么是依赖关系;打个最比喻:如 果我们想玩游戏,必须有游戏光碟和电脑(这两者间存在依赖关系),而有游戏光碟和电脑的前提条件是必须经济条件允许,另外当你有了游戏光碟后还要根据你的 心情来选择是玩哪种游戏;如下图:

玩游戏

/

/

游戏光碟 电脑

/ /

/ /

心情 经济情况

make命令当然不会自己知道这些依赖关系,而需要程序员将这些依赖关系写入一个叫makefile的文件中。Makefile文件中包含着一些目标,通常目标就是文件名,对每一个目标,提供了实现这个目标的一组命令以及和这个目标有依赖关系的其他目标或文件名,以下是一个简单的Makefile的简单例子:

#一个简单的Makefile

prog:prog1.o prog2.o//prog目标依赖prog1.o和prog2.o

gcc prog1.o prog2.o-o prog//prog1.o和prog2.o生成prog

prog1.o:prog1.c lib.h//prog1.o 依赖 prog1.c lib.h

gcc-c-I.-o prog1.o prog1.c

prog2.o:prog2.c

gcc-c prog2.c

以上Mamefile中定义了三个目标:prog、prog1和prog2,分号后是依赖文件列表,中间用一个分号隔开;

对于第一个目标文件prog来说,他有两个依赖文件:prog1.o和prog2.o,任何一个依赖文件更新,prog也要随之更新,命令gcc prog1.o prog2.o-o prog是生成prog的命令。make检查目标是否需要更新时采用递归的方法,递归从底层向上对过时目标进行更新,只有当一个目标所依赖的所有目标都为最新时,这个目标才会被更新。以上面的Makefile为例,我们修改了prog2.c,执行make时,由于目标prog依赖prog1.o

和prog2.o,所以要先检查 prog1.o和prog2.o是否过时,目标prog1.o依赖prog1.c和lib.h,由于我们并没修改这两个文件,所以他们都没有过期,接下来 再检查目标prog2.o,他依赖prog2.c,由于我们修改了prog2.c,所以prog2.c比目标文件prog2.o要新,即prog2.o过 期,而导致了依赖prog2.o的所有目标都过时;这样make会先更新prog2.o再更新prog。

如果某一行过长,已经到了文本编辑器的右边界,可用一个反斜杠()做换行符,反斜杠所连接的所有行都会被当成一行来处理;另外在Makefile中涉及的文件名允许使用通配符(?或*)。

有时候为了简化命令的书写,可以在Makefile中定义一些宏和使用缩写,下面是几个很使用的缩写:

$@ 代表该目标的全名

$* 代表已经删除了后缀的目标名

$< 代表该目标的第一个相关目标名

现在就可以使用缩写对以上Makefile做相应的修改:

#使用缩写的Makefile

prog:prog1.o prog2.o

gcc prog1.o prog2.o-o $@

prog1.o:prog1.c lib.h

gcc-c-I.-o $@ $<

prog2.o:prog2.c

gcc-c $*.c

在一个项目中,可能几个目标中使用同一个文件a.c,如果以后这个文件被修改,那么需要修改Makefile中所有的a.c,这样就比较麻烦,可以定义宏来解决这个问题,宏可以使Makefile更加清晰:

#使用缩写和宏的Makefile

MARCO = prog1.o prog2.o

prog:$(MARCO)

gcc prog1.o prog2.o-o $@

prog1.o:prog1.c lib.h

gcc-c-I.-o $@ $<

prog2.o:prog2.c

gcc-c $*.c

对于很大的项目来说,自己手写Makefile非常麻烦,而标准的GNU软件(如Apacle)都是运行一个configure脚本文件来产生 Makefile;GNU软件automake和autoconf就是自动生成configure的工具。开发人员只需要先定义好宏,automake处 理后会产生供autoconf使用的Makefine.in,再用autoconf就可以产生configure。要使用automake和 autoconf必须安装:GNU Automake,GNU Autoconf,GNU m4,perl和GNU Libtool。

假设你有一个源文件test.c,用autoscan可以产生一个configure.scan文件,编辑这个文件

dnl Process this file with autoconf to produce a configure script.AC_INIT(test.c)

AC_INIT_AUTOMAKE(test,1.0)

dnl Checks for programs.AC_PROG_CC

dnl Checks for libraries.dnl Checks for header files.dnl Checks for typedefs, structures, and compiler characteristics.dnl Checks for library functions.AC_OUTPUT(Makefile)

接着将configure.scan改名为cnfigure.in,再执行aclocal和autoconf,会产生aclocal.m4和 configure两个文件:我们再编辑Makefile.am文件,Makefile.am文件中包含了我们自己定义的宏以及目标文 件,automake会读如这个文件并根据我们自己定义的宏产生相应的Makefile.in文件:

AUTOMAKE_OPTIONS=foreign

run_PROG=test

test_SOURCE=test.c

接下来执行automake-a,到目前为止,configure文件已经成功生成。

例子: 从helloworld入手

下面的过程如果简单地说来就是:

新建三个文件:

helloworld.c

configure.in

Makefile.am

然后执行:

aclocal;autoconf;automake--add-missing;./configure;make;./helloworld

就可以看到Makefile被产生出来,而且可以将helloworld.c编译通过。

很简单吧,几条命令就可以做出一个符合惯例的Makefile,感觉如何呀。

现在开始介绍详细的过程:

1、建目录

在你的工作目录下建一个helloworld目录,我们用它来存放helloworld程序及相关文件,如在/home/my/build下: $ mkdir helloword

$ cd helloworld2、helloworld.c

然后用你自己最喜欢的编辑器写一个hellowrold.c文件,如命令:vi helloworld.c。使用下面的代码作为helloworld.c的内容。

int main(int argc, char** argv)

{

printf(“Hello, Linux World!”);

return 0;

}

完成后保存退出。

现在在helloworld目录下就应该有一个你自己写的helloworld.c了。

3、生成configure

我们使用autoscan命令来帮助我们根据目录下的源代码生成一个configure.in的模板文件。

命令:

$ autoscan

$ ls

configure.scan helloworld.c

执行后在hellowrold目录下会生成一个文件:configure.scan,我们可以拿它作为configure.in的蓝本。现在将configure.scan改名为configure.in,并且编辑它,按下面的内容修改,去掉无关的语句:

============================configure.in内容开始=========================================

#-*-Autoconf-*-

# Process this file with autoconf to produce a configure script.AC_INIT(helloworld.c)

AM_INIT_AUTOMAKE(helloworld, 1.0)

# Checks for programs.AC_PROG_CC

# Checks for libraries.# Checks for header files.# Checks for typedefs, structures, and compiler characteristics.# Checks for library functions.AC_OUTPUT(Makefile)

============================configure.in内容结束=========================================

然后执行命令aclocal和autoconf,分别会产生aclocal.m4及configure两个文件:

$ aclocal

$ls

aclocal.m4 configure.in helloworld.c

$ autoconf

$ ls

aclocal.m4 autom4te.cache configure configure.in helloworld.c

大家可以看到configure.in内容是一些宏定义,这些宏经autoconf处理后会变成检查系统特性、环境变量、软件必须的参数的shell脚本。

autoconf 是用来生成自动配置软件源代码脚本(configure)的工具。configure脚本能独立于autoconf运行,且在运行的过程中,不需要用户的干预。

要生成configure文件,你必须告诉autoconf如何找到你所用的宏。方式是使用aclocal程序来生成你的aclocal.m4。aclocal根据configure.in文件的内容,自动生成aclocal.m4文件。aclocal是一个perl 脚本程序,它的定义是:“aclocal-create aclocal.m4 by scanning configure.ac”。

autoconf从configure.in这个列举编译软件时所需要各种参数的模板文件中创建configure。

autoconf需要GNU m4宏处理器来处理aclocal.m4,生成configure脚本。

m4是一个宏处理器。将输入拷贝到输出,同时将宏展开。宏可以是内嵌的,也可以是用户定义的。除了可以展开宏,m4还有一些内建的函数,用来引用文件,执行命令,整数运算,文本操作,循环等。m4既可以作为编译器的前端,也可以单独作为一个宏处理器。

4、新建Makefile.am

新建Makefile.am文件,命令:

$ vi Makefile.am

内容如下:

AUTOMAKE_OPTIONS=foreign

bin_PROGRAMS=helloworld

helloworld_SOURCES=helloworld.c

automake会根据你写的Makefile.am来自动生成Makefile.in。

Makefile.am中定义的宏和目标,会指导automake生成指定的代码。例如,宏bin_PROGRAMS将导致编译和连接的目标被生成。

5、运行automake

命令:

$ automake--add-missing

configure.in: installing `./install-sh'

configure.in: installing `./mkinstalldirs'

configure.in: installing `./missing'

Makefile.am: installing `./depcomp'

第二篇:CNC编程介绍

CNC编程介绍

Computerized Numerical Control指的是数控加工中心,也就是普通的加工机器现在变成用电脑控制的那一种。

数控冲床(CNC Turret punch)的特点

通常市场上说的CNC培训主要指铣床,捎带讲加工中心,相对而言,工作机会比较多,工资也比其它机种高一些,但接受培训的人也多,只要看看华人培训学校的广告就知道,没有一家没有这方面培训的,竞争也十分激烈。相对而言,数控冲床则有很多大家不了解的地方: [ 相约加拿大:枫下论坛 rolia.net/forum ]

(1)数控冲床的培训至今在多伦多还没有,我咨询过4家公立学院,华人培训学校和一些洋人的培训学校,都没有。因此竞争相对平和一些;

(2)冲床给大家的概念是很危险的工种,因为在国内,冲床经常会发生冲掉手指等事故,但那是手工冲床。没有红外线保护,我最早看到进口CNC冲床是在国内的展览会上,展示机器正在加工一个熊猫图案的样品,实际上数控冲床是十分安全的,这种冲床完全不同于你想象中国内那种冲床,从安全性来讲,操作员远离机器,仅仅是按一个START按钮就可以了,连STOP键都不必按;同时,机器运转时操作员远离机器,而操作员操作时机器则停着,即机动人停,人动机停,不可能冲动手;全部的机器动作由程序控制,一旦机器运转不正常,只会停下来,给出一个报警信息,不会有其它事故发生;

(3)冲床是二维平面运动,很容易入门,实际上对新移民来讲是更快捷的就业之路,尤其是对那些非机械专业的技术移民非常适合,不需要三维的想象能力要求,当然如果你已经学过CNC铣床再转过来学冲床就是非常容易的事了,另外也不要求你会编程,你只要会操作就可以了,顶多学会setup,而这都不是难事。

(4)是脱离纯打工处境的捷径,为什么这么讲,大家知道,学铣床你必须学会编程你才算真正独立工作,而冲床就不一样,会SETUP就已经可以了,编程则作为专门的职位,有专人在编程,你要做的就是把程序那里把零件加工出来,反过来讲,一旦你成为programmer就不要在车间干活了,你就到office,到技术部门去编程了,不再属于labor,而这个过程,如果你努力的话,有1年时间就可以达到,因为你要做的就是学会Pro-engineer这个软件的钣金件设计功能,而同样的时间内,你能成为铣床的程序员吗?你的铣床编程水平最高,你也得在车间干,我不是诋毁铣床,而正说明铣床比较复杂,冲床更适合新移民学。

(5)就业面广,具有turret punch machine的工厂肯定有CNCpunch press, CNC brake press machine, 相当部分公司还会有laser cuttingsystem(CNC),一部分公司有AMADA等全自动punch machine,它们全部是CNC,所以工作机会非常多,一旦有操作全自动punchmachine(如AMADA)经验,工资起薪可达到18/小时,即使是junior再低也要15元/小时,也就是说在这几种工作中你可以不局限在某一个机种,只要找到其中一种机器,你就和CNC挂上钩了,也和冲床挂上钩了。

第三篇:编程语言的介绍

本文由2008146683贡献

doc1。

编程语言介绍

目录 [隐藏] 1 开放源代码的必要性 2 各种语言的选择 3 各种语言的选择 4

我为什么选择了 Python 5 Ruby 和 Python 的比较 5.1 Python 和 Ruby 的相同点

5.2 和 Python 相比 Ruby 的优点 5.3 和 Python 相比 Ruby 的不足 5.4 Pyth

on 和 Ruby 的语言的选择 6 多脚本语言的大统一及疑问 7 .NET 介绍 7.1 .NET

所实现的 Java 的功能 7.2 .NET 未实现的 Java 功能 7.3 .NET 实现的 Java

不具备的功能 7.4 相对 vs6 的改进 8 XML 各种技术介绍 9 最先进的 XML 格式图

形界面程序开发工具-XUL 10 最接近人类语言的编程语言-REBOL 11 最具有现代感 的 Lisp 解释器 DrScheme 12 eiffel 语言印象 13 mozart oz 语言 14 各种语言的

选择和语言之间的关系 14.1 一般是使用什么软件,就用什么软件的语言 14.2 然

后看处理什么样类型的数据 14.3 从语言特点来说 14.4 C 语言是最普及的语言,但 C 语言有一些缺点,因此,就产生了很多改进 C 的语言 14.5 关于图形用户界面 的选择 14.6 discuss 15 文学编程和 CWEB 介绍 16 贡献 [编辑] 开放源代码的必

要性 在介绍编程语言之前,先说说开放源代码的必要性。现在,在软件生产领域存在

巨大的智力浪费,大 家把大量的精力用在编写别人已经实现的程序代码上。看看,文

本编辑器有多少,看看 ftp 程序有多少,看看字处理程序有多少,这些程序虽然有

差别,但主要的功能都是一样的。要实现个性化的功能,在已有 的软件基础上修改会

节省多少时间呀!而每个程序各编一套,又浪费多少时间?如果,没有这些重复的工

作量,世界上的程序员至少可以节省 80%的工作量。同时,开放源代码也方便了大家 的交流,阅读源代码 应该是最直接最有效的学习途径,尤其是比较专业的领域。要

开放源代码,下面几点比较重要: 语言要流行。语言的函数和类库统一。语言的语

法和编译器要统一。编译器是否开放源代码。API 是否开放源代码。语言的可重用性、功能、友好

性。语言统一:如果大家都用一种编程语言,都用同样的函数,同样的类库,那么,大家的共同语言就会 很多。大家只要学会一种语言,一套函数,一套类库,就可以相

互读懂源代码,这样,学习量是最少的; 但是语言统一根本是不可能的事,因为各种

语言都有其特色,如果取了其中一个优点,通常就会牺牲另一 个优点。可是学习新 的 API 浪费程序员大量的时间和精力,尤其是当这个 API 有大量和其他 API 重复 的功 能的时候。要增加代码的可重用性,要从下面几点着手: 代码的可读性。如格

式、是否接近英语语法和单词。代码的表达能力,也就是简单性,能用最少的语句和

单词实现同样的功能。代码的结构性,如函数、模块、类。语言功能的强大从下面

几点来说: 是否拥有大量的库支持。这是最重要的,要求编写任何功能的程序都有强

大的库支持。语法功能是否强大,比如是否有出错处理。是否有指针。语言的友好

性: 语言包的大小,语言包越小,学习越简单。语言是否有友好的编辑调试环境。

语言的可视化和集成编程环境。

[编辑] 各种语言的选择 如果编写对性能要求苛刻,或和操作系统结合紧密的程序,必然选择 C。

如果编写到处可用的程序,选 Java。

如果编写大程序,可能的话尽量用脚本语言如 Python、Ruby,不行了再用 Java

和 C。因为脚本语 言带来了生产力。

编写文本的处理程序用 Perl 或 Ruby。

编写知识的处理程序用 prolog。编写最灵活,最模糊的程序用 Lisp。编写 office 程

序用 vba。编写服务器端程序,PHP、(采用自己熟悉的语言来写,例如 Perl、Pyt

hon、Ruby)CGI、ASP、(熟悉 Java 就用)JSP 都是选择。编写数据库程序用 vb、PowerBuiler 或 delphi。进行算法研究、设计,用 Pascal。[编辑] 各种语言的

选择 如果要追求性能和程序的能力,要完全发挥操作系统的能力,使用 C/C++语

言是合适的。Windows 在 环境下用 VC,在 Unix-like 环境下用 gcc。如果不是

追求和操作系统完美结合,而只是性能,又要追求跨平台性,那么仍然选择 C,但可

以选择 跨平台的库,如 qt、gtk、fox、wxWidgets。如果要编写游戏也有跨平台选择

:SDL。如果不满意 C 领域标准的不统一,不满意 C 的容易出错,不满意 C 的面向

对象特征不彻底。如果不在 乎跨平台,Windows平台可以选择 C#,mac平台可以选

择 Cocoa(Objective-C)。如果需要跨平台,可以选择 Java。如果需要跨平台,又要广泛的支持的话,选择 Java。在 Unix-like 下,最方便的工具语言是 Per

page 1 l,它有强大的社区和代码库的支持。

如果只作为简单应用的工具语言,Python 和 Ruby 是更好的选择,他们的跨平

台移植性好,应用也 比较广泛。其中 Python 更适合入门和交流,长期使用也不错。

Ruby 是对 Python 不满意的另一个选择,它提供了很多额外的功能。如果要选择一

个程序的嵌入语言,原来有 Lisp、Basic 和 Java,现在还可以选择 Python 和 Rub

y。如果在要求动态解释执行语言,而又不想学其他语言的话,C 程序员的选择是 p

ike,Java 程序员的 选择是 beanshell。在 Java平台,又想用脚本语言的话,可

以用 Python。最正统的基于文档的语言或叫动态页面语言是 JavaScript。最专门 的服务器端语言是 PHP,当然也有很多其他选择。XML 语言以 XUL 为最着名,dtml

也算一个,你自己也可以用 XML 作为自己特殊用途的语言。比如 jedit 就用 XML

作为一种模式定制语言。XML 语言是一种比较先进的趋势,比现有的语言在特殊领域

更高 效。要找容易实现的语言,Lisp 和 Tcl 是选择。Lisp 的数据和程序融为一

体的能力和自由是其他语言都没有的。现在出现了一个 Lisp 的现代化的变 种:REB

OL。如果有基于事实的编程的需要的话,prolog 和 Clips 是必然。[编辑] 我为什

么选择了 Python 首先声明,我编程只编应用程序,就是代替自己工作的小程序。如

果编写系统程序总会用到 C 或 Java 的。我喜欢脚本语言,脚本语言不用编译就可

以运行,非常便于修改,而编程序是一种经常性的活动,程 序编完后总在不断的修改

中,没必要搞的很隆重,还要编译。另外,脚本程序每个使用的人都可以随手拿 来修

改,不会出现还要去找源代码的情况。因此,C/C++和 Java 就被排除了。我喜欢

简单的语言,不喜欢为了编写简单的程序而去学习大量复杂的规定,需要大量的学习

才会的语 言不是好语言,是把人当机器看。C/C++和 Java 都有严格但罗索的语法,有永远学不完的函数、类、库。让人看到就头大。而 Perl 有各种怪里怪气的速记

符号,程序常常让人头晕。简单的含义除了容易学,还要 功能丰富,常用到的东西要

早就准备好,不用每个人都去写同样的数据结构程序等。Python 有丰富的数 据类型,有完备的面向对象的结构,有规则表达式等各种方便编程的模块。这个逻辑就是程

序做的多,人 做的就少,如果程序做的少,就要人做的多。这就是界面友好的问题。

容易上手,功能丰富是程序设计的 很重要的目标,Windows 就是靠这个流行的。P

ython 也很好的体现了这点。Perl 象 Unix 的 emaCs 而 而 之类其它工具一样,功

能强大,但太难学,太难懂。是比较违背人性的。关于性能。现在 Cpu 已经很强大

了。除了很大的程序和系统程序,没必要关心性能。关于功能。如果不是编写系统程

序和贴近系统的程序,没必要使用操作系统特别提供的功能。C 是可 以干任何事情,但它编程效率低,复杂。至于我为什么不用 vb,因为 vb 太庞大了。我没必要实现

一个小功能启动这么庞大的程序。太夸张。另外,vb 没有类继承,虽然是应用编程,但如果要编稍微大的程序,总会用到类继承的。Python 得强大得扩展能力使对 P

ython 得学习不会浪费。Python 经过简单得处理能使用各种得 C 和 C++库,也可

以被 C 和 C++调用。Python 可以直接使用 Java 得类,也可以直接被 Java 调用

。这样,对 Python、Java、C 得学习和使用经验都不会被浪费,还能相互补充。Py

thon 可以提高 Java 和 C 得编 程效率,Java 和 C 可以补充 Python 功能上得不

足。Python 还可以和 Tcl 直接交互,这种功能是内置得。期待 Python 能简单的

调用 Perl 和 PHP 得功能。能使用 Lisp 和 prolog 更好。[编辑] Ruby 和 Pytho

n 的比较 [编辑] Python 和 Ruby 的相同点 都强调语法简单,都具有更一般的表达

方式。Python 是缩进,Ruby 是类 Basic 的表达。都大量减少 了符号。都是动态数据类型。都是有丰富的数据结构。都具有 C 语言扩展能力,都具有

可移植性,比 Perl 的可移植性更好。也都可以作为嵌入语言。都是面向对象的语言,都可以作为大项目的开发工具。都有丰富的库支持。也有最宽松的版权许可,除

了一些工具属于 GNU 世界。都有 Lisp 特色的 eval 函数,也都能把函数作为参数

。也有图形界面的 Ruby 的专门编辑器。都获得了广泛的 C 库的支持。如 qt、gt

k、tk、SDL、FOX 等,Ruby 计划实现 SWIG 接口。都有完善的文档。[编辑] 和 P

ython 相比 Ruby 的优点 具有正则表达式和嵌入 HTML 的功能。Python 也有正则表

达式,但没有 Ruby 的应用方便和广泛。Python 的嵌入 HTML 项目才刚起步。Ruby

还有 apaChe 的 mod 模块。Ruby 本身也实现和很多 Unix 工具,如 raCC,doCtoo

ls。比 Python 更亲近Linux。比 Python 功能更完整的面向对象的语法。Ruby 的

page 2 整个库都是具有类继承的结构。他的基本的数据类型和运算符都是可以重载的。Ru

by 主要的功能都是通过对象的方法调用来实现的,而不是函数。Python 也在向这方

面发展,但没 有 Ruby 做的彻底。Ruby 的类是更规范的单继承,还有接口等概念的

实现。Python 可以实现在列表内的条件语句、循环语句,Ruby 用“块”的方式来

实现这个功能,Python 而 比 的更灵活,更具有通用性。Ruby 具有类似 Lisp 的

彻底的函数方式的条件语句、循环语句等。语句的表达能力更强。附带一些 Unix 工

具,如 raCC 等。[编辑] 和 Python 相比 Ruby 的不足 最大的不足正是因为 Ruby 的强大所引起的。它没有 Python 的简单性好。比较复杂的面向对象语法、“块”

语法的引入、正则表达式的引入、一些简写标记都增加了语言的复杂性。Python 的

缩进表达方式比 Ruby 的 Basic 的表达方式更让人悦目,Ruby 程序的满眼的 end 让

人不 舒服。当然,Ruby 认为 end 的方式比 Python 更先进。Ruby 还没有 Python 的“自省”的能力,没有从程序文件中生成文档的能力。Ruby 支持不及 Python 广

。国际化支持在 Ruby 的计划中。这是因为 Ruby 的历史比 Python 要短 造成的。

[编辑] Python 和 Ruby 的语言的选择 从简单的就是好的来说,Python 是没错的。

选 Python 适合寻找简单语言的人,这很可能造成 Python 更流行,因此也有更多 的支持。但如果要追求更强大的语法功能,对编程语言感兴趣,想了解各种编程概 念 的人,则 Ruby 是好的选择。Ruby 和 Python 都想取代 Perl,解决 Perl 的缺点—

—面向对象不足,但 Python 用是方法是混合面向对象和程序式的程式语言,Ruby

是允许自己这个面向对象语言扮成程序式的 程式语言,[编辑] 多脚本语言的大统一

及疑问 现在各种脚本语言太多了,有必要进行整合,parrot 是一个好的想法。.NE

T 也是好的想法。它为各 种脚本提供了一个统一的虚机,为各种脚本语言提供了基于

“类”的相互调用,为各种脚本提供了统一的类 库。现在各种脚本语言只是提供了

对 C 语言的交互性,这种交互也是费劲的和效果不好的。比如 Python、Perl、Rub

y 等都提供了对 C 的交互功能。脚本语言之间的交流障碍重重。而类似.NET 的东西,提供了 非常容易的各种脚本的相互利用的途径,避免了很多的代码的重复编写。这

种标准平台的力量是很大的,这种标准平台为什么没有在开源领域首先出现呢?众多的脚本正是开源的特点和

优势,为什么这种问题要 微软来解决呢?前面有人提出了类似的问题,在 Linux 中

为什么至今没有好用的类似 ODBC 的东西呢? 可能这种整合只有商业公司有能力实现 吧。我的理解是,如果有创新思想的人都拿他的想法去卖钱了,因此,在开源中只剩

下了模仿的人。kde 是模仿 Windows,koffice 是模仿 office,Linux 是模仿 Unix,gcc、bash 等也全都是模仿,以及 gstep 等,还有 freedos、atheos 等也是模仿,wxWindows、SDL 也是模仿。我想知道开源社区有没有自己 的创新?我所知道的创

新是 zope,但 zope 最初也是商业产品,后来才开源的。Perl 是创新,Python 是

创新,但还有什么呢?是不是开源领域只有 hacker,没有 Creator? [编辑] .

NET

介绍 [编辑] .NET 所实现的 Java 的功能 可控代码 跨平台的虚机和伪码 免费赠

送命令行编译器 纯面向对象语言 对 XML 和 XML web serviCes 的支持 和 jsp 对应 的 asp.NET 网页上的程序 一套统一的中间件环境。asp. NET 跟 jsp 不是同一个

层次上的 web 技术,asp. NET 使用完善的事件响应机制,WinForms 类似的 Web

Form 技术,只有 JSF 跟 Asp.NET 有可比性。[编辑] .NET 未实现的 Java 功能

免费的集成开发环境 多厂家支持,跨平台的成熟度 免费的 IDE,#develop,AS

P.NET 的有 MS 的 WebMatrix 而免费开源的 CLR 实现,有 MS 自己的 XP,FreeBS

D,Mac OS 下的 实现(原理演示不能进行商业应用),Novell 下的 Mono 项目,已经发布了 Beta1 版本,在 2004-6-30 将会发布 Release1; 还有 GNU 的一个.

NET 实现![编辑] .NET 实现的 Java 不具备的功能

多语言支持 强大的集成开

发环境。在 Windows 上媲美本机程序的速度。对 COM 的支持,对 vs 的继承 对

widows form、web form、服务器端程序的图形直观编程。[编辑] 相对 vs6 的改进

统一了集成开发环境,使 C++程序也具有了 vb 的友好性。[编辑] XML 各种技术

介绍 XML: XML 是统一格式的结构化数据的文本文件。基于 XML 的程序,数据结构

是开放的,方便不同程序处理同一种文件,这样,程序之间可以达到高水平的协作。

XML 现在成为了各行各业统一数据格式的基础。XML 发展出了完善的语法,它用 D

TD 或 XMLscheme 来界定 XML 的标记语言。用 uri 来唯一确定 一个 XML 格式。用

page 3 Css 或 XLT 来转换 XML 格式,xlink 和 xpointer 等来建立 XML 的链接,用 xpa

th 来定位 XML 中的数据。xHTML: 是严格符合 XML 格式的 HTML。RDF: 基于 X

ML 的元数据描述语言。方便交换结构化数据。方便交换知识。RDF 是用主语、谓语、宾语来描述知识的。SVG: XML 格式的矢量图形格式。SMILE: XML 格式的各种

多媒体在时间线上的协同。xmath: XML 格式的公式描述语言。

XML-rpC 和 soap: 以 http 协议和 XML 格式来进行网络程序之间的消息通讯

。XUL: netsCape 的 mazilla 使用的程序界面语言,基于 XML 格式,比 HTML 强

大的多的描述图形界面的 XML 语言。它用 Css 来换肤,用 DTD 来实现多语言界面,用 JavasCript 来实现程序逻辑,以此编写跨平台的可方便定制界面的程序,现在这

个程序 API 功能已经很强大了,整个 mazilla 程序就是基于 XUL 的。xaml: MS

在 LongHorn平台的最新编程语言,将统一 Windows 与 Web 编程,直接使用 Lon

gHorn 下的 浏览器进行执行,跟 XUL 有类比性 [编辑] 最先进的 XML 格式图形界

面程序开发工具-XUL 大家知道 netsCape 程序,一个仅次于 ie 得浏览器,也有很

多人知道 Mozilla,netsCape 得开放源 代码版本。但很多人只是使用 Mozilla,不

知道 Mozilla 另一个重要得功能--程序开发。在 netsCape 开放源代码后三年 Mo

zilla 得 1。0 版还没有问世,很多人讥笑他的超慢得开发速度,实际上,Mozilla

酝 酿出了一个超酷得新产品,可以看作是软件开发工具发展得另一个里程碑。现在

基于浏览器得三层开发结构非常流行,微软的.NET 的思路就是基于这个结构得。另

外,不考虑 服务器结构,就是基于网页得 JavaScript 小程序也对人很有吸引力,这

些产品得思路都是以 HTML 为用 户界面,但开发人员常常苦恼于 HTML 太简陋。而

Mozilla 得 XUL 解决了这个问题。XUL 是对 HTML 的扩展,完全兼容于 HTML,X

UL 基于 XML 格式对 HTML 进行了扩展,实现了完整、强大得图形用户界面设计功

能。可以设计出复杂得图形界面程序。实际上 mazilla 整个就是由 XUL 设计的。

XUL 用 Css 来控制界面风格、用 DTD 来替代字符串,方便的实现本地化,用 Java

sCript 来对用户界面 的操作作出反应,提供基本的逻辑编程,JavaScript 通过对象

文档接口 DOM 来动态控制用户界面。同时 JavasCript 通过调用 Mozilla 提供的丰

富的底层 API 来实现强大的功能。Mozilla 提供了功能强大的 API 可以进行文件操

作、网络操作、图形操作等各种操作,并且这种 API 是完全跨平台的。最后,Mozil

la 用 RDF 格式来存储独立于界面的数据。总结:XUL 由于兼容 HTML,提供了最强

大的用户界面的定制,DTD 提供了最方便的本地化。XUL、JavasCript、RDF 提供了

显示、逻辑、数据的分离。Mozilla 的底层 API 提供了跨平台的强大编程能力。希

望大家都来关心 Mozilla。[编辑] 最接近人类语言的编程语言-REBOL REBOL 的详

细资料见 www.xiexiebang.combinator

ial Problems 组合问题 Sorting 排序 Searching 查找 Median and Selection 中位

数 Generating Permutations 排列生成 Generating Subsets 子集生成 Generating

Partitions 划分生成 Generating Graphs 图的生成 Calendrical Calculations 日

期 Job Scheduling 工程安排 Satisfiability 可满足性 Graph Problems--polyn

omial 图论-多项式算法 Connected Components 连通分支 Topological Sorting 拓

扑排序

Minimum Spanning Tree 最小生成树 Shortest Path 最短路径 Transitive Cl

osure and Reduction 传递闭包 Matching 匹配 Eulerian Cycle / Chinese Postma

n Euler 回路/中国邮路 Edge and Vertex Connectivity 割边/割点 Network Flow

网络流 Drawing Graphs Nicely 图的描绘 Drawing Trees 树的描绘 Planarity Det

ection and Embedding平面性检测和嵌入 Graph Problems--hard 图论-NP 问题

Clique 最大团 Independent Set 独立集 Vertex Cover 点覆盖 Traveling Salesma n Problem 旅行商问题 Hamiltonian Cycle Hamilton 回路 Graph Partition 图的划

分 Vertex Coloring 点染色 Edge Coloring 边染色 Graph Isomorphism 同构 Stei

ner Tree Steiner 树 Feedback Edge/Vertex Set 最大无环子图 Computational Ge

ometry 计算几何 Convex Hull 凸包 Triangulation 三角剖分 Voronoi Diagrams V

oronoi 图 Nearest Neighbor Search 最近点对查询 Range Search 范围查询 Point

Location 位置查询 Intersection Detection 碰撞测试 Bin Packing 装箱问题 Me

page 6 dial-Axis Transformation 中轴变换 Polygon Partitioning 多边形分割 Simplify

ing Polygons 多边形化简 Shape Similarity 相似多边形 Motion Planning 运动规

划 Maintaining Line Arrangements平面分割 Minkowski Sum Minkowski 和 Set a

nd String Problems 集合与串的问题 Set Cover 集合覆盖 Set Packing 集合配置

String Matching 模式匹配 Approximate String Matching 模糊匹配 Text Compres

sion 压缩

Cryptography 密码 Finite State Machine Minimization 有穷自动机简化 Lo

ngest Common Substring 最长公共子串 Shortest Common Superstring 最短公共父

串 DP——Dynamic Programming——动态规划 recursion —— 递归 编程词汇 A2A

integration A2A 整合 abstract 抽象的 abstract base class(ABC)抽象基类 abs

tract class 抽象类 abstraction 抽象、抽象物、抽象性 access 存取、访问 acce

ss level 访问级别 access function 访问函数 account 账户 action active 动作

活动的 activate 激活 actual parameter 实参 adapter 适配器 add-in 插件 add

ress 地址 address space 地址空间 address-of operator 取地址操作符 ADL(arg

ument-dependent lookup)ADO(ActiveX Data Object)ActiveX 数据对象 advanced

高级的 aggregation 聚合、聚集 algorithm 算法 alias 别名 align 排列、对齐 a llocate 分配、配置 allocator 分配器、配置器 angle bracket 尖括号 annotatio

n 注解、评注 API(Application Programming Interface)应用(程序)编程接口 ap

p domain(application domain)应用域 application 应用、应用程序 application

framework 应用程序框架 appearance 外观 append 附加 architecture 架构、体系

结构

archive file 归档文件、存档文件 argument 引数(传给函式的值)。参见 par

ameter array 数组 arrow operator 箭头操作符 ASP(Active Server Page)活动服务

器页面 ASP.NET worker process ASP.NET 工作者进程 assembly 装配件、配件 汇编

语言 装配件清单 assembly language assembly manifest assert(ion)断言 assig

n 赋值 assignment 赋值、分配 assignment operator 赋值操作符 associated 相关 的、相关联的 associative container 关联式容器(对应 sequential container)a

synchronous 异步的 atomic attribute 原子的 原子操作 特性、属性 atomic oper

ation authentication service 验证服务 authorization 授权 audio A.I.音频 人

工智能 背景、后台(进程)向后兼容、向下兼容

B2B integration B2B 整合、B2B 集成(business-to-business integration)

background backup 备份 backward compatible backup device 备份设备 backup f

ile 备份文件 bandwidth 带宽 base class 基类 base type 基类型 batch 批处理

BCL(base class library)基类库 binary 二进制 binary search 二分查找 binary

tree 二叉树 binary function 双参函数 binary large object 二进制大对象 bin

ary operator 二元操作符 binding 绑定 bit 位 bitmap 位图 bitwise 按位⋯.bitwise copy 为单元进行复制;位元逐一复制,按位拷

bitwise operation 按位运算 block 块、区块、语句块 bookkeeping 簿记 bo

olean 布林值(真假值,true 或 false)border 边框 bounds checking 边界检查 b oxing 装箱、装箱转换 brace(curly brace)大括号、花括号 bracket(square br

akcet)中括号、方括号 breakpoint 断点 browser applications 浏览器应用(程序)browser-accessible application 可经由浏览器访问的应用程序 build 编连(专指

编译和连接 built-in 内建、内置 bus 总线 business 业务、商务(看场合)busine

ss Logic 业务逻辑 business rules 业务规则 buttons 按钮 bug 臭虫 by/through

通过 byte 位元组(由 8 bits 组成)cache 高速缓存 calendar 日历 call 调用 c

allback 回调 call-level interface(CLI)调用级接口(CLI)call operator 调用操

作符 candidate key 候选键(for database)cascading delete 级联删除(for da

tabase)cascading update 级联更新(for database)casting catalog chain 转型、造型转换 目录 链(function calls)character 字符 character format 字符格式 character set 字符集 CHECK c

page 7 onstraints CHECK 约束(for database)checkpoint 检查点(for database)chec

k box 复选框 check button 复选按钮 child class 子类 CIL(common intermedia

te language)通用中间语言、通用中介语言

class 类 类定义 类厂 类库 类装载器 类模板 类模板特化

class declaration 类声明 class definition class factory class library

class loader class template class derivation list 类继承列表 class hierar

chy 类层次结构

class template partial specializations 类模板部分特化 class template

specializations classification 分类 clause 子句 client application 客户端应

用程序 client cursor 客户端游标(for database)code page 代码页 cleanup 清

理、清除 通用语言基础设施 CLI(Common Language Infrastructure)client 客户、客户端 client area 客户区 client-server 客户机/服务器、客户端/服务器 cli pboard 剪贴板 clone 克隆 CLS(common language specification)通用语言规范

code access security 代码访问安全 COFF(Common Object File Format)collect

ion 集合 COM(Component Object Model)组件对象模型 combo box 组合框 comman

d line 命令行 comment 注释 commit 提交(for database)communication 通讯 c

ompatible 兼容 compile time 编译期、编译时 compiler 编译器 component 组件

composite index 复合索引、组合索引(for database)composite key 复合键、组

合键(for database)composition concept 概念 concrete 具体的 concrete clas

s 具体类 concurrency 并发、并发机制 复合、组合 通用对象文件格式 constraint 约束(for database)configuration 配置、组态 connection co

nsole constant 连接(for database)connection pooling 连接池 控制台 常量 construct 构件、成分、概念、构造(for language)constructor(ctor)构

造函数、构造器 container 容器 containment 包容 context 环境、上下文 contro

l 控件 cookie(不译)copy CORBA cover 拷贝 通用对象请求中介架构(Common Obj

ect Request Broker Architecture)覆盖、涵盖 创建、生成 交叉表查询(for dat

abase)create/creation crosstab query CRTP(curiously recurring template pattern)CTS(common type system)通

用类型系统 cube 多维数据集(for database)cursor 光标 cursor 游标(for dat

abase)custom 定制、自定义 data 数据 数据连接(for database)data connecti

on Data Control Language(DCL)数据控制语言(DCL)(for database)Data Def

inition Language(DDL)数据定义语言(DDL)(for database)data dictionary 数

据字典(for database)data dictionary view 数据字典视图(for database)dat

a file 数据文件(for database)data integrity 数据完整性(for database)da

ta manipulation language(DML)数据操作语言(DML)(for database)data mart 数

据集市(for database)data pump 数据抽取(for database)data scrubbing 数据

清理(for database)data source 数据源(for database)数据仓库(for databa

se)Data source name(DSN)数据源名称(DSN)(for database)data warehouse d

ataset 数据集(for database)database 数据库(for database)database catalog 数据库目录(for datab

ase)database diagram 数据关系图(for database)database file 数据库文件(for database)database object database owner database role 数据库对象(for database)数据库所有者(for database)数据库角色(for

database)database project 数据库工程(for database)database schema 数据库模式、数据库架构(for database)database script 数据库脚本(for database)data

-bound data member dataset data source data table datagram 数据绑定(for d

atabase)数据成员、成员变量 数据源(for database)数据表(for database)数

page 8 据报文 data-aware control 数据感知控件(for database)数据集(for database)data structure 数据结构

DBMS(database management system)数据库管理系统(for database)DCOM(distributed COM)分布式 COM dead lock 死锁(for database)deallocate 归还 d

ebug debugger decay 调试 调试器 退化

decision support 决策支持 declaration 声明 declarative referential in

tegrity(DRI)声明引用完整性(DRI)(for database)deduction 推导 DEFAULT con

straint 默认约束(for database)default database 默认数据库(for database)

default instance 默认实例(for database)default result set 默认结果集(f

or database)default defer delegate 缺省、默认值 推迟 委托 definition 定义 delegation 委托 dependent name deploy 部署 dereferenc

e 解引用 dereference operator(提领)运算子 derived class 派生类 design by

contract 契约式设计 design pattern 设计模式 destroy device 销毁 设备 destr

uctor(dtor)析构函数、析构器

DHTML(dynamic HyperText Markup Language)动态超文本标记语言 dialog di

gest 对话框 摘要

digital 数字的 DIME(Direct Internet Message Encapsulation)直接 Inter

net 消息封装 directive(编译)指示符 directory 目录 dirty pages 脏页(for d

atabase)dirty read 脏读(for database)disassembler 反汇编器 DISCO(Disco

very of Web Services)Web Services 的查找 disk 盘 dispatch 调度、分派、派发

(我喜欢“调度”)DISPID(Dispatch Identifier)分派标识符 distributed comp

uting 分布式计算 distributed query document 文档 DOM(Document Object Mode

l)文档对象模型dot operator(圆)点操作符 driver 驱动(程序)DTD(document ty

pe definition)文档类型定义 double-byte character set(DBCS)双字节字符集(D

BCS)dump 转储 动态游标(for database)动态筛选(for database)动态锁定(f

or database)dump file 转储文件 dynamic cursor dynamic filter dynamic lock

ing 分布式查询(for database)DNA(Distributed interNet Application)分布式

网间应用程序

dynamic recovery 动态恢复(for database)dynamic snapshot 动态快照(f

or database)dynamic SQL statements 动态 SQL 语句(for database)dynamic a

ssembly 动态装配件、动态配件 dynamic binding 动态绑定 EAI(enterprise appl

ication integration)企业应用程序集成(整合)EBCO(empty base class optimiza

tion)e-business 电子商务 空基类优化(机制)

EDI(Dlectronic Data Interchange)电子数据交换 efficiency 效率 efficie nt 高效 end-to-end authentication 端对端身份验证 end user 最终用户 engine

引擎 封装 entity 实体 encapsulation enclosing class 外围类别(与巢状类别 nested class 有关)enum(enumerat

ion)枚举 enumerators 枚举成员、枚举器 equal equality error log 相等 相等性

错误日志(for database)equality operator 等号操作符 escape code 转义码 escape character 转义

符、转义字符 exclusive lock evaluate 评估 event 事件 event driven 事件驱动 的 event handler 事件处理器 evidence 证据 exception 异常 exception declara

tion 异常声明 exception handling 异常处理、异常处理机制 exception-safe 异常

安全的 exception specification 异常规范 exit 退出 explicit 显式 explicit s

pecialization 显式特化 export facility feature fetch 提取 field 字段(java)

field 字段(for database)field length 字段长度(for database)file 文件

filter 筛选(for database)finalization 终结 firewall 防火墙 finalizer 终结

器 firmware 固件 flag 标记 flash memory 闪存 flush 刷新 font 字体 foreign

key(FK)外键(FK)(for database)导出 设施、设备 特性、特征 expression 表达

式 fat client 胖客户端 排它锁(for database)explicit transaction 显式事务

(for database)page 9 form 窗体

formal parameter 形参 forward declaration 前置声明 forward-only 只向前 的 forward-only cursor 只向前游标(for database)fragmentation 碎片(for d

atabase)framework 框架 full specialization 完全特化 function 函数 functio

n call operator(即 operator())函数调用操作符 function object 函数对象 f

unction overloaded resolution 函数重载决议 functionality functor 仿函数 GA C(global assembly cache)全局装配件缓存、全局配件缓存 GC(Garbage collect

ion)game 游戏 generate 生成 generic 泛化的、一般化的、通用的 generic algo

rithm 通用算法 genericity 泛型 getter(相对于 setter)取值函数 global 全局的

global object 全局对象 global scope resolution operator 全局范围解析操作符

grant group group box GUI 授权(for database)组、群 分组框 图形界面 握手

granularity 粒度 垃圾回收(机制)、垃圾收集(机制)功能 function template 函

数模板

GUID(Globally Unique Identifier)全球唯一标识符 hand shaking handle

handler 句柄 处理器

hard-coded 硬编码的 hard-copy 截屏图 hard disk 硬盘 hardware 硬件 has

h table 散列表、哈希表 header file 头文件 heap 堆 help file 帮助文件 hiera

rchy 层次结构、继承体系

hierarchical data 阶层式数据、层次式数据 hook 钩子 热键 Host(applica

tion)宿主(应用程序)hot key hyperlink 超链接 HTML(HyperText Markup Langua

ge)超文本标记语言 HTTP pipeline HTTP 管道 HTTP(HyperText Transfer Protoc

ol)超文本传输协议 icon 图标 接口定义语言 IDE(Integrated Development Envi

ronment)集成开发环境 IDL(Interface Definition Language)identifier 标识符

idle time 空闲时间 if and only if 当且仅当 IL(Intermediate Language)中间

语言、中介语言 image 图象 IME 输入法 直接基类 直接派生类 immediate base im

mediate derived immediate updating 即时更新(for database)implicit transaction 隐式事

务(for database)incremental update 增量更新(for database)index impleme

nt implicit import infinite loop information infrastructure inheritance in

line initialization initialize inner join instance instantiated instantiat ion integrate 索引(for database)实现 隐式 导入 无限循环 信息 基础设施 继

承、继承机制 内联 初始化 初始化 内联接(for database)实例 具现化、实体化(常应用于 template)具现体、具现化实体(常应用于 template)集成、整合 implementation 实现、实现品

increment operator 增加操作符 infinite recursive 无限递归

inline expansion 内联展开 initialization list 初始化列表、初始值列表 in-place active 现场激活 integrity 完整性、一致性

integrity constraint 完整性约束(for database)interprocess communica

tion(IPC)进程间通讯(IPC)interacts 交互 interface 接口 for GUI 界面 inter

operability 互操作性、互操作能力 interpreter invariants invoke iterate 解释

器 不变性 调用 迭代 introspection 自省

isolation level 隔离级别(for database)iterative 反复的、迭代的 iter

ator 迭代器 iteration 迭代(回圈每次轮回称为一个 iteration)item key laser

项、条款、项目 键(for database)键列(for database)激光 JIT compilation

JIT 编译 即时编译 key column late binding 迟绑定 left outer join 左向外联接(for database)level l

ibrary lifetime link linkage linker list 阶、层例 库 生命期、寿命 连接、链

接 连接、链接 连接器、链接器 high level 高阶、高层

literal constant 字面常数 列表、表、链表 list box 列表框 livelock 活锁

page 10(for database)load 装载、加载 load balancing 负载平衡 loader 装载器、载入

器 local 局部的 local object lock 锁 log 日志 login 登录 login security mo

de 登录安全模式(for database)lookup table 查找表(for database)局部对象

loop lvalue macro maintain 循环 左值 机器码、机器代码 宏 维护

loose coupling 松散耦合 machine code managed code 受控代码、托管代码 Managed Extensions 受控扩充件、托管扩 展 managed object 受控对象、托管对象 mangled name manifest 清单 manipulato

r 操纵器(iostream 预先定义的一种东西)many-to-many relationship 多对多关系

(for database)many-to-one relationship 多对一关系(for database)marshal

列集 member 成员 成员取用运算子(有 dot 和 arrow 两种)成员函数 member acc

ess operator member function member initialization list 成员初始值列表 memberwise 以 member 为单元

⋯、members 逐一⋯memberwise copy memory menu 内存 菜单 memory leak 内存泄

漏 message 消息 message based 基于消息的 message loop 消息环 message queui

ng 消息队列 metadata 元数据 metaprogramming 元编程 method 方法 micro 微 mi

ddleware 中间件 middle tier 中间层 modeling 建模 modeling language 建模语言

modifier 修饰字、修饰符 modem module mouse mutex 调制解调器 模块 鼠标 互斥

元、互斥体 多维 OLAP(MOLAP)(for database)most derived class 最底层的派生类 mutable 可变的 multidimensional OLA

P(MOLAP)multithreaded server application 多线程服务器应用程序 multiuser multi

-tasking multi-thread 多用户 多任务 多线程 命名参数

multicast delegate 组播委托、多点委托 named parameter namespace nativ

e named pipe 命名管道 名字空间、命名空间 原生的、本地的

native code 本地码、本机码 Native Image Generator(NGEN)本地映像生成器

nested class 嵌套类 nested query 嵌套查询(for database)nested table 嵌套

表(for database)network 网络 network card 网卡 nondependent name object

object file 对象 目标文件 object based 基于对象的 object model 对象模型 ob

ject oriented 面向对象的 object pooling 对象池化 ODBC data source ODBC 数据

源(for database)ODBC driver ODBC 驱动程序(for database)OLE 自动化对象

(for database)OLE 自动化服务器(for database)ODR(one-definition rule)OLE Automation objects OLE Automation serve r OLE DB consumer OLE DB 使用者(for database)OLE DB for OLAP 用于 OLA

P 的 OLE DB(for database)OLE DB provider OLE DB 提供者(for database)on

e-to-many relationship 一对多关系(for database)one-to-one relationship 一

对一关系(for database)online analytical processing(OLAP)online redo lo

g online transaction processing(OLTP)Open Data Services(ODS)operand 操

作数 联机分析处理(OLAP)(for database)联机事务处理(OLTP)(for database)联

机重做日志(for database)开放式数据服务(ODS)(for database)Open Database Connectivity(ODBC)开放式数据库连接(ODBC)(for databas

e)operating system(OS)操作系统 operation 操作 operator option 操作符、运

算符 选项

optimizer 优化器

outer join 外联接(for database)overflow overhead overload 上限溢位(相对于 underflow)额外开销 重载 重载决议 重载的函数 overload resolution overloaded function override package palette para

llel overloaded operator 被重载的操作符 覆写、重载、重新定义 包 调色板 并行

page 11 packaging 打包

parameter 参数、形式参数、形参 parameter list 参数列表 parameterize p

arent class parentheses parse parser part 解析 解析器 零件、部件 传址(函式

引数的传递方式)(非正式用语)参数化 父类 圆括弧、圆括号

partial specialization 局部特化 pass by address pass by reference 传地

址、按引用传递 pass by value 按值传递 pattern 模式 可移植可执行文件 PDA(p

ersonal digital assistant)个人数字助理 PE(Portable Executable)file perfo

rmance persistence pixel 像素 placement delete placement new placeholder 占

位符 platform平台 性能 持久性

PInvoke(platform invoke service)平台调用服务

POD(plain old data(type))POI(point of instantiation)pointer 指针

poll 轮询 pooling 池化 polymorphism 多态 pop up port postfix 弹出式 端口

后缀

precedence 优先序(通常用于运算子的优先执行次序)prefix 前缀 预处理器

主表(for database)preprocessor primary table primary key(PK)主键(PK)(for database)primary template 原始模板 pri

mitive type 原始类型 print printer 打印 打印机

procedure 过程 procedural 过程式的、过程化的 process profile profiler

program 进程 评测 效能(性能)评测器 程序

programmer 程序员 programming 编程、程序设计 progress bar 进度指示器

project property protocol 项目、工程 属性 协议

pseudo code 伪码 qualified 经过资格修饰(例如加上 scope 运算子)qualif

ied name qualifier 修饰符 quality queue radian radio button raise range ra

nk raw 质量 队列 弧度 单选按钮 引发(常用来表示发出一个 exception)范围、区

间 等级 未经处理的

race condition 竞争条件(多线程环境常用语)random number 随机数

readOnly 只读 record 记录(for database)recordset 记录集(for databa

se recursive 递归 re-direction 重定向 refactoring refer 重构 引用、参考 reference 引用、参考 reference counting 引用计数

referential integrity(RI)引用完整性(RI)(for database)register refl

ection 寄存器 反射

refresh data 刷新数据(for database)regular expression 正则表达式 re

lational database 关系数据库 remote represent resolve resolution result se

t return return type return value revoke robust robustness roll back routi

ne row row lock rowset 远程 表述,表现 解析、决议 解析过程 结果集(for dat abase)返回 返回类型 返回值 remote request 远程请求

retrieve data 检索数据

right outer join 右向外联接(for database)撤销 健壮 健壮性 回滚(for

database)例程 行(for database)行锁(for database)行集(for database)roll forward 前滚(for database)RPC(remote procedure call)RPC(远程过程调用)runtime 执行期、运行期、执行时、运行时 rvalue 右值 save 保存 savepoint 保存点(for database)SAX(Simple API for XML)scalable 可伸缩的、可扩展的 schedule 调度 scheduler 调

度程序 schema scope 模式、纲目结构 作用域、生存空间 scroll bar 滚动条 scop

e operator 生存空间操作符 scope resolution operator 生存空间解析操作符 scr

een 屏幕 SDK(Software Development Kit)软件开发包 sealed class 密封类 sear

ch 查找

semantics 语义 semaphore 信号量 sequential container 序列式容器 serve

r serial 服务器、服务端 串行

serialization/serialize 序列化 server cursor 服务端游标、服务器游标(for database)session setter sibling signature slider 滑块 slot 槽 smart p

page 12 ointer 智能指针 SMTP(Simple Mail Transfer Protocol)snapshot snapshot 截屏

图 快照(for database)简单邮件传输协议 会话(for database)设值函数 同级

签名

shared lock 共享锁(for database)side effect 副作用 single-threaded

单线程

specialization 特化 specification 规范、规格 splitter software source

code 切分窗口 简单对象访问协议 软件 源码、源代码 SOAP(simple object acce

ss protocol)SQL(Structured Query Language)结构化查询语言(for database)stack 栈、堆栈 stack unwinding 叠辗转开解(此词用于 exception 主题)standard librar y 标准库 standard template library 标准模板库 stateless 无状态的 statement

语句、声明 static cursor 静态游标(for database)static SQL statements 静

态 SQL 语句(for database)stored procedure 存储过程(for database)status

bar 状态条 stream string stub 流 字符串 存根

subobject 子对象 subquery 子查询(for database)subroutine 子例程 sub

script operator 下标操作符 subset 子集

subtype 子类型 support 支持 suspend 挂起 symbol syntax 记号 语法 系统

数据库(for database)系统表(for database)system databases system tables table 表(for database)table lock 表锁(for database)table-level constraint 表级约束(for d

atabase)tape backup 磁带备份(for database)target 标的,目标 task switch

工作切换 TCP(Transport Control Protocol)template template-id template ar

gument deduction template parameter 模板参数 模板参数推导 template explici

t specialization 模板显式特化 模板 传输控制协议

template template parameter temporary object 临时对象 temporary table

临时表(for database)text 文本 text file 文本文件 thin client 瘦客户端 t

hird-party 第三方 thread 线程 thread-safe 线程安全的 throw 抛出、引发(常指

发出一个 exception)token 符号、标记、令牌(看场合)trace 跟踪 transactio

n 事务(for database)transaction log 事务日志(for database)transaction

rollback 事务回滚(for database)transactional replication 事务复制(for d

atabase)translation unit 翻译单元 traverse 遍历 trigger 触发器(for datab

ase)two-phase commit 两阶段提交(for database)tuple two-phase lookup 两阶

段查找 type 类型 UDDI(Universary Description, Discovery and Integration)统 一描述、查询与集成

UML(unified modeling language)统一建模语言 unary function 单参函数 u

nary operator 一元操作符 unboxing underflow Union query unique index unmar

shal unqualified 拆箱、拆箱转换 下限溢位(相对于 overflow)联合查询(for da

tabase)唯一索引(for database)散集 未经限定的、未经修饰的 统一资源定位器

UNIQUE constraints UNIQUE 约束(for database)unmanaged code 非受控代

码、非托管代码

URI(Uniform Resource identifier)统一资源标识符 URL(Uniform Resourc

e Locator)user 用户 user interface 用户界面 value types 值类型 variable 变

量 vector viable video view 向量(一种容器,有点类似 array)可行的 视频 视图

VEE(Virtual Execution Engine)虚拟执行引擎 vendor 厂商 view 视图(for

database)虚拟机 虚拟内存 web 服务 WHERE 子句(for database)通配符搜索(for database)窗口 窗口函数 窗口过程 virtual function 虚函数 virtual machi

ne virtual memory vowel Web Services WHERE clause wildcard search window w

page 13 indow function window procedure wizard 向导 word 单词 包装、包装器 word pr

ocessor 字处理器 wrapper write enable 写启用(for database)write-ahead lo

g 预写日志(for database)write-only 只写 WSDL(Web Service Description La

nguage)Web Service 描述语言

元音字母

wildcard characters 通配符字符(for database)Windows authentication Windows 身份验证

XML Message Interface(XMI)XSD(XML Schema Definition)XML 消息接口 XML 模式定义语言

XML(eXtensible Markup Language)

Linux编程make命令介绍

第一篇:Linux编程make命令介绍 Linux编程make命令介绍 摘要:在开发一个系统时,一般是将一个系统分成几个模块,这样做提高...
点击下载
分享:
最新文档
热门文章
    确认删除?
    QQ
    • QQ点击这里给我发消息
    微信客服
    • 微信客服
    回到顶部