Undocumented API 才是王道

29 二月, 2008 (23:15) | 電腦與網路

如果你寫程式沒用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 Markmcm
Date: 2008/03/01, 2:53 上午

『裁判,我在我老家給些主場優勢嘛』

不過有時候這些東西是用幫助測試的,
而且不是本家的人用了將來什麼時候改了也不知道。

Comment from Kuon
Date: 2008/03/01, 9:49 上午

Undocumented API 用來幫助測試?
有多少 API 還在和官方文件的 type 不 match, 參數的數量不合.
其他平台我不知道, Widnows 很多 Undocumented API :P
依照慣例會在下一個重大改板要麼消失要麼公開存續

Comment from Roy
Date: 2008/03/02, 11:52 上午

>依照慣例會在下一個重大改板要麼消失要麼公開存續
Windows 95留下來的undocumented API現在還是undocumented的 XD

Comment from 飄過
Date: 2008/03/02, 2:43 下午

可想而知,某些帶著「電視機」闖江湖是很正常的。

Comment from Kuon
Date: 2008/03/02, 10:03 下午

TO: Roy,
舉個名稱來聽聽 :P

Comment from Roy
Date: 2008/03/04, 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
Date: 2008/03/05, 12:44 上午

@.@ Native API 如果在 2K 還能說是 undocumented; 都過了這麼多年了 …. :P

Write a comment