第一篇: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)可扩展标记语言 XSL(eXtensible Style
sheet Language)可扩展样式表语言 XSLT(eXtensible Stylesheet Language Tran
sformation)可扩展样式表语言转换 xxx based 基于 xxx 的 xxx oriented 面向 xx
x page 14__
第四篇:数控车床编程常用指令介绍
数控车床编程常用指令介绍 1.F功能
F功能指令用于控制切削进给量。在程序中,有两种使用方法。
(1)每转进给量
编程格式 G95 F~
F后面的数字表示的是主轴每转进给量,单位为mm/r。
例:G95 F0.2 表示进给量为0.2 mm/r。
(2)每分钟进给量
编程格式G94 F~
F后面的数字表示的是每分钟进给量,单位为 mm/min。
例:G94 F100 表示进给量为100mm/min。
2.S功能
S功能指令用于控制主轴转速。
编程格式S~
S后面的数字表示主轴转速,单位为r/min。在具有恒线速功能的机床上,S功能指令还有如下作用。
(1)最高转速限制
编程格式 G50 S~
S后面的数字表示的是最高转速:r/min。
例:G50 S3000 表示最高转速限制为3000r/min。
(2)恒线速控制
编程格式 G96 S~
S后面的数字表示的是恒定的线速度:m/min。
例:G96 S150 表示切削点线速度控制在150 m/min。
(3)恒线速取消
编程格式 G97 S~
S后面的数字表示恒线速度控制取消后的主轴转速,如S未指定,将保留G96的最终值。例:G97 S3000 表示恒线速控制取消后主轴转速3000 r/min。
3.T功能
T功能指令用于选择加工所用刀具。
编程格式T~
T后面通常有两位数表示所选择的刀具号码。但也有T后面用四位数字,前两位是刀具号,后两位是刀具长度补偿号,又是刀尖圆弧半径补偿号。
例:T0303 表示选用3号刀及3号刀具长度补偿值和刀尖圆弧半径补偿值。
T0300 表示取消刀具补偿。
4.M功能
M00: 程序暂停,可用NC启动命令(CYCLE START)使程序继续运行;
M01:计划暂停,与M00作用相似,但M01可以用机床“任选停止按钮”选择是否有效;M03:主轴顺时针旋转;
M04:主轴逆时针旋转;
M05:主轴旋转停止;
M08:冷却液开;
M09:冷却液关;
M30:程序停止,程序复位到起始位置。
5.加工坐标系设置G50
编程格式 G50 X~ Z~
式中X、Z的值是起刀点相对于加工原点的位置。G50使用方法与G92类似。
在数控车床编程时,所有X坐标值均使用直径值,如图所示。
例:按图设置加工坐标的程序段如下:
G50 X128.7 Z375.1设定加工坐标系
6.快速定位指令G00
G00指令命令机床以最快速度运动到下一个目标位置,运动过程中有加速和减速,该指令对运动轨迹没有要求。其指令格式:
G00 X(U)____ Z(W)____;
当用绝对值编程时,X、Z后面的数值是目标位置在工件坐标系的坐标。当用相对值编程时,U、W后面的数值则是现在点与目标点之间的距离与方向。如图所示的定位指令如下:
G50 X200.0 Z263.0;设定工件坐标系
G00 X40.0 Z212.0;绝对值指令编程A→C
或G00 U-160.0 W-51.0; 相对值指令编程A→C
因为X轴和Z轴的进给速率不同,因此机床执行快速运动指令时两轴的合成运动轨迹不一定是直线,因此在使用G00指令时,一定要注意避免刀具和工件及夹具发生碰撞。如果忽略这一点,就容易发生碰撞,而快速运动状态下的碰撞就更加危险
7.直线插补指令G01
G01指令命令机床刀具以一定的进给速度从当前所在位置沿直线移动到指令给出的目标位置。指令格式:G01 X(U)____Z(W)____F;
其中F是切削进给率或进给速度,单位为mm/r或mm/min,取决于该指令前面程序段的设置。使用G01指令时可以采用绝对坐标编程,也可采用相对坐标编程。当采用绝对坐编程时,数控系统在接受G01指令后,刀具将移至坐标值为X、Z的点上;当采用相对坐编程时,刀具移至距当前点的距离为U、W值的点上。如图所示的直线运动指令如下:
G01 X40.0 Z20.F0.2;绝对值指令编程
G01 U20.0 W-25.9 F0.2;相对值指令编程
8.圆弧插补指令G02、G03
圆弧插补指令命令刀具在指定平面内按给定的F进给速度作圆弧插补运动,用于加工圆弧轮廓。圆弧插补命令分为顺时针圆弧插补指令G02和逆时针圆弧插补指令G03两种。其指令格式如下:
顺时针圆弧插补的指令格式:G02 X(U)____Z(W)____I____K____F____;
G02 X(U)____Z(W)___R___ F____;
逆时针圆弧插补的指令格式:G03 X(U)____Z(W)____ I____K____F____;;
G03 X(U)____Z(W)___R___ F____;
使用圆弧插补指令,可以用绝对坐标编程,也可以用相对坐标编程。绝对坐标编程时,X、Z是圆弧终点坐标值;增量编程时,U、W是终点相对始点的距离。圆心位置的指定可以用R,也可以用I、K,R为圆弧半径值;I、K为圆心在X轴和Z轴上相对于圆弧起点的坐标增量;F为沿圆弧切线方向的进给率或进给速度。
当用半径R来指定圆心位置时,由于在同一半径R的情况下,从圆弧的起点到终点有两种圆弧的可能性,大于180°和小于180°两个圆弧。为区分起见,特规定圆心角α≤180°时,用“+R”表示;α>180°时,用“-R”。注意:R编程只适于非整圆的圆弧插补的情况,不适于整圆加工。例如,图3-13中所示的圆弧从起点到终点为顺时针方向,其走刀指令可编写如下:G02 X50.0 Z30.0 I25.0 F0.3;绝对坐标,直径编程,切削进给率0.3mm/r
G02 U20.0 W-20.0 I25.0 F0.3;相对坐标,直径编程,切削进给率0.3mm/r
G02 X 50.0 Z30.0 R25.0 F0.3;绝对坐标,直径编程,切削进给率0.3mm/r
G02 U20.0 W-20.0 R25.0 F0.3;相对坐标,直径编程,切削进给率0.3mm/r
9.暂停指令G04
G04指令用于暂停进给,其指令格式是:
G04 P____
或G04 X(U)____
暂停时间的长短可以通过地址X(U)或P来指定。其中P后面的数字为整数,单位是ms;X(U)后面的数字为带小数点的数,单位为s。有些机床,X(U)后面的数字表示刀具或工件空转的圈数。
该指令可以使刀具作短时间的无进给光整加工,在车槽、钻镗孔时使用,也可用于拐角轨迹控制。例如,在车削环槽时,若进给结束立即退刀,其环槽外形为螺旋面,用暂停指令G04可以使工件空转几秒钟,即能将环形槽外形光整圆,例如欲空转2.5s时其程序段为:
G04 X2.5或G04 U2.5或G04 P2500;
G04为非模态指令,只在本程序段中才有效。
10.英制和米制输入指令G20、G21
G20表示英制输入,G21表示米制输入。G20和G21是两个可以互相取代的代码。机床出厂前一般设定为G21状态,机床的各项参数均以米制单位设定,所以数控车床一般适用于米制尺寸工件加工,如果一个程序开始用G20指令,则表示程序中相关的一些数据均为英制(单位为英寸);如果程序用G21指令,则表示程序中相关的一些数据均为米制(单位为mm)。在一个程序内,不能同时使用G20或G21指令,且必须在坐标系确定前指定。G20或G21指令断电前后一致,即停电前使用G20或G21指令,在下次后仍有效,除非重新设定。
11.进给速度量纲控制指令G98、G99
在数控车削中有两种切削进给模式设置方法,即进给率(每转进给模式)和进给速度(每分钟进给模式)。
(1)进给率,单位为mm/r,其指令为:
G99;进给率转换指令
G01X____Z____F____;F的单位为mm/r
(2)进给速度,单位为mm/min,其指令为:.
G98;进给速度转换指令
G01X____Z____F____;F的单位为mm/min
G98和G99都是模态指令,一旦指定就一直有效,直到指定另一方式为止。车削CNC系统缺省的进给模式是进给率,即每转进给模式,只有在用动力刀具铣削时才采用每分钟进给模式。
12.参考点返回指令G27、G28、G30
参考点是CNC机床上的固定点,可以利用参考点返回指令将刀架移动到该点。可以设置最多四个参考点,各参考点的位置利用参数事先设置。接通电源后必须先进行第一参考点返回,否则不能进行其它操作。参考点返回有两种方法:
(1)手动参考点返回。
(2)自动参考点返回。该功能是用于接通电源已进行手动参考点返回后,在程序中需要返回参考点进行换刀时使用的自动参考点返回功能。
自动参考点返回时需要用到如下指令:
(1)返回参考点检查G27
G27用于检验X轴与Z轴是否正确返回参考点。指令格式为:
G27 X(U)____Z(W)____
X(U)、Z(W)为参考点的坐标。执行G27指令的前提是机床通电后必须手动返回一次参考点。执行该指令时,各轴按指令中给定的坐标值快速定位,且系统内部检查检验参考点的行程开关信号。如果定位结束后检测到开关信号发令正确,则参考点的指示灯亮,说明滑板正确回到了参考点位置;如果检测到的信号不正确,系统报警,说明程序中指令的参考点坐标值不对或机床定位误差过大。
(2)参考点返回指令G28、G30
G28 X(U)____ Z(W)____;第一参考点返回,其中X(U)、Z(W)为参考点返回时的中间点,X、Z为绝对坐标,U、W为相对坐标。参考点返回过程如图3-14所示。
G30 P2 X(U)____Z(W)____;第二参考点返回,P2可省略
G30 P3 X(U)____Z(W)____;第三参考点返回
G30 P4 X(U)____ Z(W)____;第四参考点返回
第二、第三和第四参考点返回中的X(U)、Z(W)的含义与G28中的相同。
如图3-14所示为刀具返回参考点的过程,刀具从当前位置经过中间点(190,50)返回参考点,其指令为:
G30 X190 Z50;
G30 U100 W30;
第五篇:mac终端命令介绍
mac终端命令大全介绍
花房一号店2010-06-12 13:04:59
OSX 的文件系统
OSX 采用的Unix文件系统,所有文件都挂在跟目录 / 下面,所以不在要有Windows 下的盘符概念。
你在桌面上看到的硬盘都挂在 /Volumes 下。
比如接上个叫做 USBHD的移动硬盘,桌面上会显示出一个硬盘图标,它实际在哪里呢?
在终端里执行ls /Volumes/USBHD, 看看显示出的是不是这个移动硬盘的内容。
根目录位置是 / 核心Mach_kernel就在这里,驱动所在位置 /Systme/Library/Extensions 用户文件夹位置 /User/用户名 桌面的位置 /User/用户名/Desktop 文件通配符为星号 * 注意:在 Unix系统中是区别大小写字符的,A.txt 不等于 a.txt。根目录标志 / 不是可有可无,cd /System 表示转到跟目录下的System中,而cd System 表示转到当前目录下的 System中
——————————————————————————————————————————————
如何进入命令行操作模式
再图形界面下,用finder 打开应用程序》实用程序》终端
如果连图形界面都进不去了(比如安错了显示驱动),开机时按 F8,用-s参数启动,然后输入命令 mount-uw /
获得权限
为了防止误操作破坏系统,再用户状态下时没有权限操作系统重要文件的,所以先要取得root权限 sudo-s
补充一个vi的命令:
1.在默认的“指令模式”下按i进入编辑模式 2.在非指令模式下按 ESC 返回指令模式 3.在“指令模式”下输入: :w 保存当前文件 :q 退出编辑,如果文件为保存需要用强制模式 :q!强制退出不保存修改 :wq组合指令, 保存并退出 4.在“指令模式”下移动: h 左 j 下 k 上 l 右
#翻页
Shift + f(front)下一页 Shift + b(back)上一页
再来一个超有用的!输入purge,释放所有非活跃内存
然后输入密码,输入密码时没有任何回显,连星号都没有,只管输完回车就行了。
——————————————————————————————————————————————
基本命令 列出文件 ls参数目录名
例: 想看看跟目录下有什么,ls /
想看看驱动目录下有什么,ls /System/Library/Extensions 参数-w 显示中文,-l 详细信息,-a 包括隐藏文件 转换目录 cd
例:想到驱动目录下溜达一圈 cd /System/Library/Extensions 建立新目录 mkdir目录名
例:在驱动目录下建一个备份目录 backup mkdir /System/Library/Extensions/backup 在桌面上建一个备份目录 backup mkdir /User/用户名/Desktop/backup 拷贝文件
cp参数源文件目标文件
例:想把桌面的Natit.kext拷贝到驱动目录中
cp-R /User/用户名/Desktop/Natit.kext /System/Library/Extensions 参数R表示对目录进行递归操作,kext在图形界面下看起来是个文件,实际上是个文件夹。
把驱动目录下的所有文件备份到桌面backup cp-R /System/Library/Extensions/* /User/用户名/Desktop/backup 删除文件 rm参数文件
例:想删除驱动的缓存
rm-rf /System/Library/Extensions.kextcache rm-rf /System/Library/Extensions.mkext 参数-rf表示递归和强制,千万要小心使用,如果执行了rm-rf / 你的系统就全没了
移动文件 mv 文件
例:想把AppleHDA.Kext移到桌面
mv /System/Library/Extensions/AppleHDA.kext /User/用户名/Desktop 想把AppleHDA.Kext移到备份目录中
mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/backup 更改文件权限 chmod参数权限文件
例:把驱动目录下所有文件设定到root读写,其他用户只读 chmod-R 755 /System/Library/Extensions 参数R 表示递归,755表示各用户的权限 更改文件属主
chown参数用户:组文件
例:把驱动目录下的所有文件属主改成根用户 chown-R root:wheel /System/Library/Extensions 参数R 表示递归操作 修复整个系统中文件的权限 diskutilrepairpermissions /
严格的说这不是一个unix命令,而是osx一个软件,记得修改或添加的驱动就执行一次。文本编辑 nano文件名
例:编辑natitInfo.plist nano /System/Library/Extensions/Natit.kext/Info.plist 编辑完成后用 Ctrl +O 存盘,Ctrl+X 退出
另一个文本编辑软件是 vi,操作有些古怪,熟了是非常好用的,而且在所有类Unix系统中都它,走遍天下都不怕了。运行脚本命令 sh脚本文件名
例修改驱动后所有需要的操作存成一个脚本,以后修改了驱动后只要运行一次这个脚本就可以了,方便吧 1.终端中运行nano /clean 2.把下列代码粘贴到nano中
rm-rf /System/Library/Extensions.kextcache rm-rf /System/Library/Extensions.mkext chown-R root:wheel /System/Library/Extensions chmod-R 755 /System/Library/Extensions diskutilrepairpermissions /
kextcache-k /System/Library/Extensions/ 3.Ctrl +O 存盘,Ctrl+X 退出
4.以后只要动了驱动,就在终端中运行一次sh /clean
————————————————————————————————————
小技巧
用 Tab 键自动补齐命令
比如想到 /System 目录中去,输入 cd /Sy然后按一下Tab 键,命令就会自动补齐成 cd /System 操作带名字中带有空格的文件和目录
空格在命令中写成空格,比如要进入 My Documents,命令为 cd My Documents 查看命令的详细帮助 man 命令名
比如要看看ls命令的详细用法,执行 man ls ————————————————————————————————————
典型操作流程
(假设已经制作好清理脚本,记得每次操作前sudo-s 获得系统权限)假设下载了一个显卡驱动 Natit.zip,在桌面解压得到了一个Natit.kext,该怎么做呢?
为了保险起见,先把所有驱动备份了再说
mkdir /User/用户名/Desktop/backup 在桌面上建立备份文件夹 cp-R /System/Library/Extensions/* /User/用户名/Desktop/backup 备份驱动文件
现在可以安心安装了 cp-R /User/用户名/Desktop/Natit.kext /System/Library/Extensions 把它拷贝到系统驱动目录位置
sh /clean 执行清理脚本,操作完成
重新开机失败,进不去桌面了,发现不应该安这个驱动,怎么恢复呢? 开机按F8,用-s 参数启动 执行 mount-uw /
rm-rf /User/用户名/Desktop/Natit.kext删除这个驱动 sh /clean 执行清理脚本,操作完成
重启,回到原先状态了,不死心啊,没有特效怎么行呢,又听说需要修改Natit的 Info.plist文件才行,好,再来
cp-R /User/用户名/Desktop/Natit.kext /System/Library/Extensions 把它拷贝到系统驱动目录位置
nano /System/Library/Extensions/Natit.kext/Info.plist 编辑完成后用 Ctrl +O 存盘,Ctrl+X 退出 sh /clean 执行清理脚本,操作完成
重启,这回对了,显卡特效都有了,该弄声卡了,天知道会出什么事,得把现有成果保护好。mkdir /User/用户名/Desktop/gooddrivers专为有效驱动建个目录 cp-R /System/Library/Extensions/Natit.kext /User/用户名/Desktop/gooddrivers备份
这个声卡要求把AppleHDA.kext删除和编辑AppleAzaliaAudio.kext中的Info.plist文件,谁知道以后会不会还用AppleHDA呢,不如暂时禁用吧。mkdir /System/Library/Extensions/disabled 建立个禁用目录 mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/disabled 移动过去 nano /System/Library/Extensions/Natit.kext/AppleAzaliaAudio.kext/Info.plist 编辑完成后用 Ctrl +O 存盘,Ctrl+X 退出 sh /clean 执行清理脚本,操作完成 成功了,也把修改好的驱动备份一下把 复制内容到剪贴板代码:
以下是unix的命令行,供参考 目录操作 命令名 功能描述 使用举例 mkdir 创建一个目录 mkdirdirname rmdir 删除一个目录 rmdirdirname mvdir 移动或重命名一个目录 mvdir dir1 dir2 cd
改变当前目录 cd dirname pwd 显示当前目录的路径名 pwd ls 显示当前目录的内容 ls-la dircmp 比较两个目录的内容 dircmp dir1 dir2 文件操作 命令名 功能描述 使用举例 cat 显示或连接文件 cat filename pg 分页格式化显示文件内容 pg filename more 分屏显示文件内容 more filename od 显示非文本文件的内容 od-c filename cp 复制文件或目录 cp file1 file2 rm 删除文件或目录 rm filename mv 改变文件名或所在目录 mv file1 file2 ln 联接文件 ln-s file1 file2 find 使用匹配表达式查找文件 find.-name “*.c”-print file 显示文件类型 file filename 选择操作 命令名 功能描述 使用举例 head 显示文件的最初几行 head-20 filename tail 显示文件的最后几行 tail-15 filename cut 显示文件每行中的某些域 cut-f1,7-d: /etc/passwd colrm 从标准输入中删除若干列 colrm 8 20 file2 paste 横向连接文件 paste file1 file2 diff 比较并显示两个文件的差异 diff file1 file2 sed 非交互方式流编辑器 sed “s/red/green/g” filename grep 在文件中按模式查找 grep “^[a-zA-Z]” filename awk 在文件中查找并处理模式 awk '{print $1 $1}' filename sort 排序或归并文件 sort-d-f-u file1 uniq 去掉文件中的重复行 uniq file1 file2 comm 显示两有序文件的公共和非公共行 comm file1 file2 wc 统计文件的字符数、词数和行数 wc filename nl 给文件加上行号 nl file1 >file2 安全操作 命令名 功能描述 使用举例 passwd 修改用户密码 passwd chmod 改变文件或目录的权限 chmodug+x filename umask 定义创建文件的权限掩码 umask 027 chown 改变文件或目录的属主 chownnewowner filename chgrp 改变文件或目录的所属组 chgrp staff filename xlock 给终端上锁 xlock-remote 编程操作 命令名 功能描述 使用举例 make 维护可执行程序的最新版本 make touch 更新文件的访问和修改时间 touch-m 05202400 filename dbx 命令行界面调试工具 dbxa.out xde 图形用户界面调试工具 xdea.out 进程操作 命令名 功能描述 使用举例 ps 显示进程当前状态 ps u kill 终止进程 kill-9 30142 nice 改变待执行命令的优先级 nice cc-c *.c renice 改变已运行进程的优先级 renice +20 32768 时间操作 命令名 功能描述 使用举例 date 显示系统的当前日期和时间 date cal 显示日历 cal 8 1996 time 统计程序的执行时间 timea.out 网络与通信操作 命令名 功能描述 使用举例 telnet 远程登录
telnet hpc.sp.net.edu.cn rlogin 远程登录 rlogin hostname-l username rsh 在远程主机执行指定命令 rsh f01n03 date ftp 在本地主机与远程主机之间传输文件 ftp ftp.sp.net.edu.cn rcp 在本地主机与远程主机之间复制文件 rcp file1 host1:file2 ping 给一个网络主机发送回应请求 ping hpc.sp.net.edu.cn mail 阅读和发送电子邮件 mail write 给另一用户发送报文 write username pts/1 mesg 允许或拒绝接收报文 mesg n Korn Shell 命令 命令名 功能描述 使用举例 history 列出最近执行过的几条命令及编号 history r 重复执行最近执行过的某条命令 r-2 alias 给某个命令定义别名 alias del=rm-i unalias 取消对某个别名的定义 unalias del 其它命令 命令名 功能描述 使用举例 uname 显示操作系统的有关信息 uname-a clear 清除屏幕或窗口内容 clear env 显示当前所有设置过的环境变量 env who 列出当前登录的所有用户 who whoami 显示当前正进行操作的用户名 whoami tty 显示终端或伪终端的名称 tty stty 显示或重置控制键定义 stty-a du 查询磁盘使用情况 du-k subdir df 显示文件系统的总空间和可用空间 df /tmp w