虚位以待(B+E)和盈数码 诚信专业 用心服务智能手机,听海说;满不满意,听您说99新centro仅售488元
Pre Plus新春团购.美国直邮[小胖]【华宇科技】实体连锁-Palm批发Palm&Blackberry北京实体原装店天达数码 Palm Pre全系列热销
 154 1234
发新话题
打印

[新手入门] (转贴)什么是Hack?什么是DA?

(转贴)什么是Hack?什么是DA?

看了几天论坛里的文章,看到许多人讲“DA”,一直不知道是什么,今天看到一篇文章,解释的挺好的,向来有很多新手和我一样,就转贴过来:(原贴在http://www.51pda.cn/bbs/htm_data/51/0605/711.html3 g4 O& x/ ?6 w; n* B8 I4 j8 m
       [转贴]什么是Hack,什么是DA?5 X8 Y: m7 k. j! j3 k/ @
引用:
2 ]" Y- p0 t* i0 ~$ P1 r& z0 M
什么是Hack,什么是DA?
7 e; p) k  p" H  c7 Y1 D
* @2 x5 G7 L3 @Hack和DA是萦绕在每个palm新手心头的神圣字眼儿。即使不把理解了Hack和DA作为palm新手和老手的分水岭,至少,它也是你踏上茫茫palm不归路的一个重要里程碑。
5 \# ~% w( f6 O) B& w2 k) m2 V, @0 x, B3 W5 w, b" ^
  关于Hack和DA,最常见也最容易理解的说法是:Hack和DA是模拟多任务的程序--对于多任务的直观理解,就像我们在windows上同时运行几个不同的程序窗口。/ {+ V9 @, a( ~6 B  }5 ]) C; v
) }, n' Y- t7 K8 Y
  Palm是一个单任务的操作系统。在同一时刻,只能有一个程序能够与用户交互。这在很多时候并不方便。最常见的例子是在阅读新闻的时候,你可能需要查一下字典;或者你在电子表格中输入数据的想调出计算器算一个简单的数;又或者你在输入文档的时候想知道一下时间,等等。相当一部分Hack程序和绝大部分常用的DA程序都是为了这个目的设计的--在不退出当前程序的情况下运行。
* F6 ~9 b* F" F1 ]) {+ U, \, ^) v) C, L8 k
  但是Hack和DA能做的还不仅如此。
" Q2 {( O/ e1 A+ b% w/ Y9 S
$ ]( O; f' t  J  本质上说Hack和DA是Palm程序的两种特殊运行方式,或者说是两种特殊类型的Palm程序。这两种程序规范都不是Palm官方支持的系统功能,他们是由第三方软件开发者提出并维护的开放标准。+ ]1 d* ?: |$ _1 o- N8 T
* J' p% A) ?1 H- E
  DaggerWare在1996年引入了Hack程序的概念。他们把Hack程序称为Palm上的Control Panel,意思很明显,就是对系统功能的扩展。Palm系统有很多系统功能,比如查找,比如拷贝粘贴,如果你对这些内置的系统功能不满意,可以用自己的方式替换掉系统的原有功能,比如,MultiClip Hack可以支持多条记录的拷贝粘贴,而Find Hack则增强了系统原有的查找能力。这种偷梁换柱修改系统的工作方式,就像网络上的黑客侵入并接管别人的网络或者计算机一样,这就是Hack名字的由来。: s3 D/ e4 v% L0 Q2 {  K3 b

" l7 r- E/ b: X2 T( |6 i7 h* z2 a  为了替换或者增强原有的系统功能,你当然可以写自己的系统补丁,但是这样做需要开发者很熟悉系统底层接口,并且来自不同开发者的补丁可能会有很多冲突。 : I0 g+ N8 i* u
; R/ z7 N. Q: w' I" K) P
  HackMaster就是为了解决这些问题而提出的。5 P. u  }2 Y5 Z0 J' n* M9 c. ~

0 m8 j2 P) }+ l+ H! o  HackMaster定义了一套开放的系统扩展规范,称为HackMaster API,它一定程度上隐藏了开发系统扩展程序的复杂性,通过这套规范可以简单的写出更加稳定的系统扩展程序。
# U2 C. W. x7 ]8 x9 O6 q: {0 ~
9 l. m4 V+ f0 u* v. `# W  其次,HackMaster本身也是一个管理程序,负责装载和卸载不同的hack程序,并且解决hack程序之间的冲突,比如,当两个不同的hack程序要扩展相同的系统功能时,HackMaster裁决到底哪个有效。任何Hack程序一定需要有Hack管理程序才能运行。 1 @+ W( K5 a0 S: o) l
9 m5 H* R, g# R2 k
  DaggerWare自己出品的HackMaster是Hack管理程序的鼻祖,但是它不是最好的。因为Hack规范或者说HackMaster API是开放标准,其他的一些程序开发者也开发了不错的Hack管理程序。比如来自Tealpoint的TealMaster,来自LinkeSOFT的X Master,和来自TRGPro User Group的EV Plug Base,都是不错的Hack管理程序。
3 d/ k5 l6 n9 A: V9 p- E' g) [  [! U% x9 u4 M
  HackMaster装载和卸载hack程序都是“热插拔”的,不需要重新启动系统。和Windows相比,这是HackMaster规范一个很棒的地方。 3 Q0 ?& d9 }3 e; F# {- W

4 K1 d' \2 I: H1 x1 q# N7 y  Hack程序在通过Hack管理程序装载之后,就驻留在系统内存中后台运行,无法象普通的应用程序一样退出,只能在Hack管理程序中卸载。这种运行方式会降低一些系统速度,而且,尽管HackMaster API定义得很仔细以避免Hack程序之间的冲突,但是Hack程序与普通应用程序冲突情况仍然时有发生,这也是导致系统不稳定的主要原因之一。 * ~, |- m( r8 q: Q+ T! P; C

& e5 {( y" u" g& J2 D% h  Hack程序不一定要有运行窗口。一个Hack程序可能只是简单的改变背光的状态,替换系统字体,或者改变按键的功能,甚至改变电池图标的显示。当然它也可以有自己的"弹出窗口"(其实是获得当前程序的窗口),这个"弹出窗口"可以运行在当前程序之上,通过这种方式,我们就可以实现前面说的在不退出当前程序的前提下实现查字典,查电话号码,看时间,计算器,或者输入简单数据等功能,也就是“模拟多任务”。 & e. r! {4 c4 H
( s2 p: ]+ J( w: w3 L/ x4 Y4 k
  虽然Hack方式可以实现弹出式的窗口任务,但是用Hack来实现这个功能并不好,因为太多的程序驻留内存会使系统很慢而且不稳定。
% t" Y0 i3 f1 r0 n4 u8 c3 t( r9 L7 f1 e- t/ E
  针对这个问题,一个日本人YAMADA Tatsushi, Hacker Dude-san,提出了另一种方案,就是Desk Accessory,简称DA。和Hack相比,DA更象是为弹出窗口模拟多任务设计的。它采用类似Hack的方式接管了系统的用户应用程序外壳,以实现在不退出当前任务的情况下,执行DA程序。
4 J9 x: B* j8 V  x
: J- [- _' g' v4 v7 u  p& D  DA也定义了一套DA程序规范,也需要一个DA程序管理器来启动DA程序。但是与Hack不同,DA管理程序并不去接管或者修改系统功能(DA程序可以自己这么做,但不是通过DA程序管理器去这么做),所以它更像一个普通的应用程序,只是运行在一个弹出的窗口中。 + A% \8 D* h0 O; ?% O# Q

+ v8 E0 |- _5 {( c6 J$ D  DA与Hack的另一个重要不同是,Hack是驻留的,在Hack管理程序中装载的Hack程序都在系统中运行。而DA程序是在运行时装载的,运行结束后退出。这样,同时运行的DA程序只有一个,解决了DA程序之间的冲突问题。DA管理程序也紧紧是一个单纯的DA启动程序,通常称为DA Launcher。DA的运行方式有着比Hack更好的稳定性,也不大影响系统速度。
; k2 i* `3 ~5 I! S. `4 p" K
' u! k" S% A9 ^  v1 y& I$ t  虽然DA程序是运行时装载的,但是DA管理程序必须驻留内存。驻留内存程序可以用三种方式实现,启动时自动装载的程序,控制台(Pref)程序和Hack程序。基本上没有DA管理程序用第一中方式实现,因为装载和卸载往往需要重新启动系统,不如后两种方式的“热插拔”方便。
; _1 S3 ^: W0 ]8 f
  ~$ K0 C) }; g% N* d; g  与HackMaster一样,DA方案的鼻祖Hacker Dude-san也提供了权威的DA启动程序,名字就叫做DA Launcher。它有Hack版本,也有控制台版本。除此之外,其他比较常用的DA管理程序有来自Hiroaki Imazeki的ButtonDA Hack,来自Takanori Hoshi的AppDA Launche,Calc Button Hack,和Find Button Hack,来自Tealpoint的TealLaunch等等。7 o" d9 z' w8 }

$ g1 c6 Z+ z  w  G8 z7 l  多数的DA管理程序都使用了Hack方式来实现。这造成了一种错觉似乎DA需要Hack才能运行,其实并非如此。DA和Hack并没有直接的依赖关系。由于Hack规范可以简单的实现扩展系统功能,驻留内存和"热插拔",所以多数DA管理程序采用了Hack方式,但是也可以不这么做,使用控制台方式或者启动时装载的普通程序一样可以实现DA管理/启动功能。相反,用DA方式来实现Hack管理的程序是没有的。因为Hack管理程序需要启动时装载而且驻留内存,DA方式做不到。+ S6 L+ o4 c4 Y) z& H/ c: G4 I4 {
/ h! u( i* O5 V) Q; k
  和Hack类似,DA程序也可以没有运行窗口。比如HRCapt DA就是一个捕捉屏幕的DA程序。DA程序也可以执行一些类似Hack程序的系统底层功能,比如acFreeHeap可以清理系统的堆内存。
) f7 Y1 _6 G' N: K6 h# s1 D: E
) K& W1 X$ f( ~- y, C$ }" s, t6 a" T  很多的时候,你从功能上来区分并没有办法分出是Hack还是DA程序。但是这并不重要,用户更关心的是程序的功能而不在乎它是用什么方式来实现。在实现相同功能的前提下,通常应该选择DA程序,因为它有更好的兼容性,稳定性以及速度。但是Hack规范提出得早,其功能也更强大,所以Hack程序资源比DA多很多了。
谢谢分享。。。
  j/ g! N1 K. K# ~& q3 J我对DA和HACK都了解了,但是要真正解释,好象也不是那么深刻呢
# s% g* X" F0 L7 ?, D) y0 C7 _/ |& C+ g# n$ w: V
不过目前PALM上的DA和HACK都萎缩得厉害
人要吃饭,业余做站....拒绝通过PM,QQ,电话等其他方式交流手机问题..有问题找我的话,请在论坛发贴并告诉我链接即可.
又长知识了。
哈哈哈哈,一直的疑问终于有些了解了。谢谢楼主的。
thanks
学了一招!!
: 好文啊!!! 学习了~
NiKon D50 入手!CECT Treo650 服役中 。。。P1黑桔600光荣退役!
学习中。。。
这个帖子帮了新手很大的忙,谢谢了
感谢分享!!!!!!!!!!!
长知识了。谢谢楼主
看了还是有点迷糊,呵呵,谢谢分享:
学习了,长知识!!: :(2
有些晕,虽然很长时间没用咯!
真是长见识了!以前总是听人家讲什么 DA 呀 HACK 呀,不懂,现在理解一些了。
好文: !长知识!
: :
6 b5 r, h8 c- u# k5 d2 @哈哈 这么好的帖( o! w' u( [' m7 _- c
谢谢楼主勒
菜鸟进阶了
谢谢啊!!!!!!!!!!!!
此帖确实好,如果加个举例就完美了。
谢谢分享~
太感谢楼主了。
谢谢,感谢分享
谢谢楼主,,正想知道呢
学习ing
谢谢分享,学习ING
学到知识听。
学习学习,努力学习~
谢谢,以前我还真的不清楚。:) :) :D :D
谢谢,以前我还真的不清楚。:) :) :D :D
谢谢楼主,长见识了
问个题外话,那个HRCapt DA捕捉屏幕后把图片保存到哪里去了?:3
???难道大家都藐视我这样的小问题吗55555:3
果然软件比硬件难!
看了这个贴才知道DA是什么意思:
" c' Q9 L3 M2 u3 O2 b* n. r
7 ~. t7 z0 C- i9 M' t谢谢楼主
8错!
& ~# L0 _" v  }9 U: @. ~6 q! C+ t长了很多知识!!!!!!!!!!!!!!!!!!!!!!!!!
这么好的帖子是一定要顶的!
谢谢,以前我还真的不清楚。 :) :D :D [/quote]:)
终于搞懂这两个东西了,感谢楼主:
好文啊!!! 学习了~
 154 1234
发新话题
最近访问的版块