Undocumented API 才是王道
如果你寫程式沒用undocumented API,那一定是因為你的程式沒什麼了不起的功能。
今天看到一則新聞,提到說有一個 Firefox 的開發人員覺得 Firefox 3 beta 在 Mac OSX 上面的表現差得不可思議,在某些測試中比 Firefox 2 還慢上 50%-500%,他們後來發現 Firefox 3 beta 會慢是因為系統的裡的某個功能會影響到 Cocoa 程式,而 Firefox 2 之所以沒被影響是因為它是 Carbon 程式。他們後來也解決了這個問題 (Apple 的網站上有講要怎麼解),不過他們發現 Safari / WebKit 竟然不是用同樣的招數來處理這個問題 !! 在經過一番爬梳之後,他們發現原來 WebKit 用了幾個 Apple 沒有公開的 API,可以用比較 優雅
的方法來避開這個問題…
看了這則新聞後,我只想到強者我朋友 lukhnos 前不久發的一篇文章裡的一句話:
如果你寫程式沒用undocumented API,
那一定是因為你的程式沒什麼了不起的功能
Comments
Comment from Kuon
Time 2008/03/01 at 9:49 上午
Undocumented API 用來幫助測試?
有多少 API 還在和官方文件的 type 不 match, 參數的數量不合.
其他平台我不知道, Widnows 很多 Undocumented API :P
依照慣例會在下一個重大改板要麼消失要麼公開存續
Comment from Roy
Time 2008/03/02 at 11:52 上午
>依照慣例會在下一個重大改板要麼消失要麼公開存續
Windows 95留下來的undocumented API現在還是undocumented的 XD
Comment from 飄過
Time 2008/03/02 at 2:43 下午
可想而知,某些帶著「電視機」闖江湖是很正常的。
Comment from Roy
Time 2008/03/04 at 9:41 下午
>Kuon
多如山,不知從何說起。如User space下SHELL32中有一堆:
http://catch22.net/tuts/sysimg.asp : Locating the System Imagelist on all versions of Windows
kernel space的就更多了:
http://undocumented.ntinternals.net/ : Kernel space User mode undocumented API list
Comment from Kuon
Time 2008/03/05 at 12:44 上午
@.@ Native API 如果在 2K 還能說是 undocumented; 都過了這麼多年了 …. :P
Comment from Markmcm
Time 2008/03/01 at 2:53 上午
『裁判,我在我老家給些主場優勢嘛』
不過有時候這些東西是用幫助測試的,
而且不是本家的人用了將來什麼時候改了也不知道。