讀者來信 & 我的回覆 part2

侯捷 1999.02.13


就要告別虎年了。我心中過年的氣氛也開始濃厚起來。98 年應該出的書《COM 本質論》(Essential COM 中譯本)已於 01/22 交稿,封面則於日前定案,所以該書可能春節後就會與讀者見面。

目前埋首 99 年的計劃。《C++ Primer》中文版原預定 1999/09 完成,可能會提早(提多早則不敢說),也可能會一併加上其習題解答本:《C++ Primer Answer Book》中文版。

雖然將元智的授課暫停一年,寫作也安排得寬鬆一些,打算享受一下世紀末的壯闊心情,但幾位熟朋友都說:你的 1999 計劃哪叫寬鬆呀!說得是,目前看來還嗅不出輕鬆的味道。不過心情很輕鬆就是了(心情一向很輕鬆。人到無求品自高,這句話我體會最深)

上次發表【讀者來信 & 我的回覆】後,又收到幾封長信。這一篇是 part2。


●讀者來函 1


> Dear teacher Hou:
> 學生在您的書籍中、在 BBS 上您的文章中,和您神交已久,也寫過幾
> 封信給您;最讓我感動的不是您高深的電腦知識或技術,而是您總是
> 願意和我們聊一些 "非技術性" 的東西;我想說,您的用心對我們的
> 幫助真的很大!


喔,若是這樣,我很開心。

學習的路上,的確需要有人引導。這一點對學子很重要,尤其處在資訊爆炸的時代裡。慢慢地,我覺得我扮演了部份電腦張老師的角色。你知道,花很多原本應該工作的時間去構思你所謂的「非技術性」文章、敲鍵盤、找資料、覓佳句、整理學習心得,的確需要一點愚公精神。不過,聽到你這麼說,我也就開心了。

> 近來由於自己埋首於準備研究所考試 (目標是資訊相關科系,
> 理想的學校是清、交、台 -- 依序排列 :-p ) ,因而有失聽聞於
> 您了,不過您在 News Group 中的文章倒是我所不願錯過的。


交清兩校相鄰,唸一所學校可享兩所學校的資源,星期五還可以連趕兩場周末電影。有眼光 :)

> 我本身念的是土木,但比較希望朝資訊方面發展 (屬於知其不"易"為而為之
> 的那種人) ,我知道有不少人是抱著類似理想而奮鬥的:而我自己的
> 想法是這樣的:像我這樣大學唸到一半才發現自己真正興趣的人,如
> 果希望將來能夠讓工作與興趣相結合,基本的學歷和背景 (指本身的
> 知識、學識) 是不可或缺的,所以才會決定念研究所,抓住最後這個
> 求學的機會。

我當初就缺少你的這份決心。我也是土木系畢業,卻知道自己考不上資訊所(所學相差太遠),所以選考一個也可以滿足我高科技夢的機械所控制組。不過最終還是向命定靠攏,走到資訊這條路來了。

你大學唸到一半「就」發現自己真正的興趣,我在社會上工作了一年「才」發現自己真正的興趣。還有好多人,一輩子沒發現自己的興趣!說起來,你很幸福。

> 讓我感到感到困擾的是,關於自己的想法,很少有來自他人的 feed back,
> 讓我有一種閉門造車的恐懼 (害怕有天才突然發現自己原來是住在井底
> 的青蛙) ,我不知道這樣的想法和做法是否切實際?如果研究所考試沒達
> 到自己的理想又該何去何從?朝這個方向發展的人 (科班生) 他們都在
> 做什麼?想什麼?研究些什麼?每思及此,都讓我有如履薄冰的感覺,
> 有人說"人在不知不覺中而消耗了時間是最可怕的事情之一",我想到自己
> 年紀也不小了,卻覺得人生還沒上軌道......不覺提筆,寫下此信與老師。


我剛進入清大動機所時,心中非常惶恐,因為我不知道「科班生」都唸了些什麼。我是土木系學生硬考控制組,當年口試,有位系主任還特別就這一點問我。他說他們系上成立以來,從來沒有土木系同學考控制組。

進入一個陌生的學系,陌生的領域,我不知道什麼是重要的?什麼是不重要的?我甚至連車床是什麼,銑床是什麼,都不知道。到今天,我也只敢說,在機械控制方面,我學了幾個術語而已。

所以,既然你想考資訊研究所,你應該去旁聽幾堂關鍵的大學課程,瞭解一下「科班生」上些什麼,科班生的程度如何。慢慢你心中就有底了,就不會惶惶終日了。旁聽的行為可以在考前展開,也可以在考後展開。

我覺得,資訊是最好唸的一個系所 -- 前提是你有高度興趣而且考得上。怎麼說?因為一台 PC 就可以搞定很多很多事情。很多很多電腦知識都可以自修獲得,資源多得不得了,各式各樣的書、期刊、開發工具多得不得了,而且垂手可得(我並不是說它們免費);絕大部份的知識,如果你想印證,不需一間偌大的機械工廠、不需一座昂貴的實驗室、不需水庫橋樑機場大廈的實習機會,只要 5 萬台幣的 PC 就搞定。

有這麼容易閉門苦讀的理工科系嗎?就資訊系了。侯捷的電腦知識幾乎全是自修的。書本與期刊就是我的老師。所以,你可以相信我的話。

> 我喜歡閱讀您的文章和作品,特別是"無責任書評" 2、3,在您的文字中
> 能讓我得到一種安慰,和繼續前進的動機,也讓我們 (學生) 知道這個
> 領域的發展方向,開拓了我們的視野!您曾說,開始寫作時目標是業界
> 的人仕,沒想到後來得到許多學子的回應,我想,那就是您的文字的特質,
> 不只是技術的東西,更包含了作者的感情於其中。我不知道所謂國內
> 首屈一指的電腦作家這樣的稱號有什麼實質上的意義,但對於我而言,
> 您的作品,在所有的技術書籍當中,是唯一可以在幾年後讀起來,還會
> 讓我甘之如飴的!這個,才是所謂的 No.1


你是說曾經有人稱讚侯捷是「國內首屈一指的電腦作家」嗎?為什麼我從沒有聽聞過?anyway,來自讀者真心誠意的感謝,才是最讓我心動的讚美。

三年前有家電視台要做一個電腦節目,希望訪問我。我贈送製作人
<無責任書評> 1,2 各一冊,請她閱後再來訪問。雖然,從此就沒有回音了,但是我真的一點都不在乎。不知道我的用心(而且也不打算知道)的人,只為了我的虛名,何必訪問我呢?我真正在意的,只有讀者心中的冷與暖。

若有人問起我的志業,我要說,我只希望,在 90 年代的一群資訊人的學習之路上,侯捷曾經溫暖地陪伴他們。

> 很抱歉在您百忙之中還讓您花時間讀這篇不算短的來信,不過我很高興
> 能把自己的想法和您分享,如此我已經是很感到滿足了:當然若能再得
> 到您的 feed back,那真是"朝聞道,夕死可也" : )

你這樣說真是太言重了。我很喜歡與讀者做這樣的溝通。你若考上交清,便是我的學弟,那麼就請與我聯絡,讓學長請喝一杯「侯捷咖啡」。

> 改天若有機會還想和老師聊聊所謂學術路線和實務路線這類的話題,
> 祝老師,還有師母,Of course:生活順心、愉快。順便向您和師母
> 拜個早年:Happy New Year !!


我也向你,以及所有網路上的朋友,說聲新年快樂。


●讀者來函 2


> 侯老師您好:
> 我目前是即將畢業的“電子系“的學生。
> 我本身對寫程式及計算機系統及硬體有極大的興趣,對於
> C++ 及計算機周邊界面的硬體亦有些基礎,最近得知您的譯作
> <Windows 95 系統程式設計 - 虛擬機器 & VxD 程式設計>
> 已經出版,實在很高興。常常使用 8051 作一些計算機
> 控制的實驗,一直希望能學習使用 PC 來做控制,一來在 PC
> 上寫程式較得心應手,且應用程式也可以寫得非常漂亮(
> 我是指在視窗模式下),但是要在 Win 32下做硬體控制,
> 就必須學習寫驅動程式,以前一直提不起勇氣嘗試,但這
> 本書的出現,實在沒理由不學習,不過我有些疑惑的是,
> 一般的應用程式,可以自由學習,任意嘗試。但是要寫驅
> 動程式,我想就需要有要控制的硬體來作練習,我知道
> Vxd 也可以用在更低階的應用,而不一定是用來寫驅動程式,


是的,我自己就喜歡撰寫一些 VxD,做為 system monitor,一窺系統奧秘;或是用來做一般 applications 做不到的動作。VxD 用在 device driver 身上,反倒不是我的專長與興趣。

> 但是我感興趣是硬體的控制,我可以自己做一些簡單
> 的 I/O 卡,如 8255等,但是 Windows 的硬體還有一堆如
> Plug&Play 等硬體技術,我就完全不懂了....寫到這裡,有
> 點不知如何表達了,總之我是想知道在看這本書時,是否
> 可以真正動手寫出有用的東西(我是指硬體應用方面),
> 或是需要有機會進入硬體公司,才能有機會實作呢?或是
> 我可以使用或自製哪些硬體來作學習,而不是只是一直寫
> 程式而已呢?


學習 driver programming,一定必須:

1. 對 software platform(作業系統)有相當程度的瞭解;
2. 對 hardware platform(硬體平台特性)有相當程度的瞭解;
3. 對 target device 有足夠的認識;
4. 有充份的實作練習。

你可以利用電腦必定附有的基本週邊來做 driver 練習,例如serial port, parallel port。把 hard disk 或 display card 拿來做練習對象當然也可以,就恐怕犯錯的成本太高 :)。事實上 <Windows 95 系統程式設計 - 虛擬機器 & VxD 程式設計> 第 15, 16 兩章合作,就給了你一個實例,在 Windows 95 上實作出一個 block device drivers 和一個 IFS(Installable File System)。不過,你當然不能要求作者在如此的篇幅和如此的寫作目的下,給出一個完整功能的 disk driver 和 IFS。誠如作者自己所言(中譯本 p702):

『舉一個真正的檔案系統做為範例,實在是遠超出「合理」以及「易學」兩項範圍。我只打算表現出足夠的範例,精確描述一個檔案系統必須供應的 service 函式。我決定實作出一個十分低效率的檔案系統,給第 15 章所開發的 RAM-disk drive 使用(我可不想把我的硬碟拿來做為實驗品)。我把最後的結果稱為 Low Performance File Systm(LPFS);VTHIN(VFAT 的對應,呵呵)應該也是個好名稱』

我曾與 Gauss(華碩工程師,"Windows 95 系統程式設計" 檢閱者之一)討論過你這個疑惑。他對此有更多的想法,也答應上網寫點意見。嗨,Gauss,請發言 :)

> 寫了一大堆,也許侯先生看了有些模糊,我自己也寫
> 到不知如何表達心裡的想法與疑問,如果侯先生覺得我文
> 筆很差請不要見笑。祝事事順心


你的文筆不差,我看得很清楚。也祝你事事順心。


●讀者來函 3


> 侯先生您好。或許稱呼您侯老師也不為過,因為我們目前正在用您的
> 「深入淺出MFC」一書作為教科書。首先,我先自我介照我的背景,我
> 大學不是唸資訊科系,當完兵後考上資策會的程式設計師養成班,受訓一年。
> 其實我之前並未碰過電腦,所以可說是白痴起家,學習的過程自然很痛苦,

但是你知道的,每個人學電腦都是「白痴起家」的呀 :)

> 尤其資策會的課排得很重,現在仍是如此,VB、SQL SERVER、C++、MFC、
> IIS全集中在這二個月上、當然效果可想而知,但資策會目的本不在要我們精
> 通,而是廣泛學習,未來看自己努力。這點我是蠻贊同的。不過就自己學習
> 的歷程,我覺得寫程式的樂趣就在於很痛苦的思考中求取解答,僅管挫折感可
> 以讓你不斷懷疑自己是不是寫程式的料,我猜您大概也經歷過這種過程吧,只
> 是我蠻好奇的,您如何走過這段晦澀期呢?


資策會課程我上過。1985 退伍後我考取青四期(青輔會委辦訓練,第四期)。在中央大學受了半年訓練。這是我受過的唯一正統資訊相關訓練。份量頗重,回味無窮。松竹梅三所學校我都待過,真是資歷完整。

你說你覺得『寫程式的樂趣就在於很痛苦的思考中求取解答,僅管挫折感可以讓你不斷懷疑自己是不是寫程式的料』。我的經驗則是「寫程式的樂趣就在於很縝密的思考中求取解答,並且精益求精;寫出後覺得沒有人比我寫得更好」。所以,說真的,我沒有晦澀期。一開始接觸 programming,我就有如魚得水的快樂。

當然,辛苦是有的。辛苦不是痛苦。

> 另外還有一點,我覺得大概
> 是台灣各學科的通病吧,有關電腦程式技術的書,怎麼都是翻譯的
> 呢,像我想找一本寫得適合初學者的C++的本土書籍,居然找不到,
> 資策會用的是 Stephen Prata "C++程式語言入門及應用" 蔡明志
> 譯,這本似乎是目前中文書中比較好的一本,但由於是翻譯關係,
> 有些語句我實在看嘸,上課老師也指出不少錯誤。像我們這種非本
> 科系來學電腦的人,最困擾的一點是找不到可以自我學習的路徑,
> 因為對這個教科書寫的領域不熟,不知道那本書(我指的是原文,非
> 中文)可以提供困擾我觀念或問題的線索,這是後續學習很重要的一
> 環,因為不可能永遠靠老師而且老師也不一定都能提供你想要的,
> 我有時候很感嘆台灣的學術界,在寫教科書上真的...,國外寫的
> 書,翻開第一頁一定是版權頁,各章節後總有重點摘要和相關議題
> 的補充教材,文末必附上參考書籍、重要字詞索引,更重要的是他
> 一定把讀者當作什麼都不懂(因為懂的人不需要看他的書),從最基本
> 的觀念教起,但台灣學者在寫書好像把你當作神一樣,寫到那就認
> 為這個你應該知道了,然後就隻字未提或片句帶過,而大大方方的
> 奠基在這個上面講下去,結果讀者還以為是自己太笨無法體會作者
> 的深意,而認為自己能力有限,不敢學這學科了,

瞭解你的意思。

雖然中文電腦書普遍表現不佳是事實,不過針對你的問題,我想分開來討論。
書籍一定要有其讀者定位,就像商品客層一定要清楚一樣。如果定位不清不楚,企圖一把抓,註定是失敗的產品。不能每本書都得由盤古開天講起,因為書籍有分入門、初階、進階、高階、專家…等級。

一本好的書應該是在其定位之下,細心地為讀者鋪陳所有攻頂前的必要裝備。但是,作者自以為是的這些必要鋪陳,是否擊中絕大部份符合該書定位之讀者的需求,既不太過,又無不足,就靠作者的認知、經驗、功力了。

> 我自己就有過這
> 種親身體驗,等到讀了相關的原文教材後,才晃然大悟,中間的邏
> 輯原來是這樣扣的,而這種推衍過程或觀念澄清,台灣作者太過忽
> 略了,所以坊間電腦書如此多,真正具有可讀性的卻寮寮可數。

有可能是這樣。但如果你是指檯面下的邏輯演繹,例如 C++ 虛擬機制、MFC 來龍去脈、Windows context switch、separate address space 的始末…等等,那麼外文書講得好的也就那幾本經典。也許正是被你讀到的那一本。換言之「告訴你 why」的書籍,本就不多的。

> 我也不知道該怎麼講,就當我是個電腦領域的平民向您這位在電腦界的巨擘闡
> 述一下心裡的想法吧。因為您是那少數具可讀性國產作者之一,我多麼希望台
> 灣有一天可以以本土作者的教科書帶領莘莘學子走入一個領域甚至是其它領
> 域,這是一個夢,但希望有一天真的能實現。您的讀者 88.2.1

不可以稱我為「電腦界的巨擘」。我只是在軟體技術教育上有些貢獻而已(這麼說自己,也已經逾越了)。

你這一說,勾動我的某些雄心。前陣子也有出版社邀請我撰寫適合大學課程的電腦書籍。目前我的現役書籍裡,以《多型與虛擬》最具可能。此書事實上已有大學教授採用做 C++/OOP 第二個學期的教科書,而我希望把它增補得更完善些,更面面俱到些,例如把 C++ syntax(chap1)談得更完善更有組織、將所有範例在各主要作業平台上驗證過、並增列習題、甚至淺介各主要C++ compiler 的使用模式(做為暖身),並增添泛型程式設計(generic programming)這個大主題。啊,這將會是 1999 的計劃。

不過,印象中 text book 行文都是四平八穩,喜歡用 "We",不像侯捷喜歡用 "I",並時出戲謔之語。就像張教授來信說的:

I was so excited as I found your book entitled "polymorphism in C++." It is not so huge in volume as other books, though most of OO books are not so deep enough, as you pointed. ... Now I have decided to use your book as my textbook, although I don't like that you often made use of the description style "I ......", I prefer to the stuff you covered and also the detail level you have made.

我不願放棄我的行文風格,怎生是好 :)


●讀者來函 4


> : -----------------------------------------------------------
> : ●讀者來信 & 我的回覆
> : > Dear Hou sir :
> : > 今天買了 Systems Programming for Windows 95 中文書一本, 價八百六十,
> : > 實在不便宜. 而且買下不久, 中文對照一下, 後悔了. 覺得不該花那麼多錢的.
> : 看到這裡,我的心臟停止了跳動。
> 哈哈哈...
> 這裡我先弄個岔子, 讓侯sir先是一驚, 然後漫漫道來.
> 不佞本來就是話不驚人死不休了. 所以玩了一點文詞陷井.......

我已年近不惑,心肌實在經不起你這樣的玩弄 :)

> : > 我想說的是, 原文書一本 1500 元花的真是冤枉, 如果侯先生的譯書早一個月
> : > 出版, 那麼就不用多花一千多塊的. 侯先生這本譯書簡直要用三個字形容 :
> : > GOOD, EXCELLENCE, PERFECT.
> : 看到這裡,我的心臟恢復了跳動。
> : 你對 <Windows 95 系統程式設計 - 虛擬機器 & VxD 程式設計> 的溢美,
> : 我很不敢當,但是很欣慰。"GOOD" 和 "EXCELLENCE" 我是樂意接受的,
> : 但是距離 "PERFECT" 還很遙遠。
> 說的也是. 大文學家曹值寫給楊修的信中提到, 只有春秋一書看來是零缺點的.
> 可是王安石卻批評春秋是一本斷爛朝報. 可見評斷自在人心.

各位看 amazon 的書評(嚴格說來還談不上書評,應該說是讀者閱後感),"Inside Visual C++"(現今改名叫"Programming Visual C++")有五顆星的,也有兩顆星的。"Advanced Windows" 有五顆星的,卻也有好幾篇一顆星的。

為什麼落差這麼大?因為那是讀者閱後感,不是專業書評。讀者要的是符合他個人需求的書,其餘免談,統統一顆星,仁慈一點的多給一顆。專業書評才會從書籍定位角度去考慮其表現的良窳。

> : > 聽說侯先生也要 "從命不如恭敬" 來翻Inside OLE, 果真如此, 那真是大家福氣
> : 了.你弄擰了我的意思 :)。
> : "恭敬不如從命" 意思是順從奉行;"從命不如恭敬" 的意思是敬謝不敏。
> 那真是太可惜了. 不夠也好. 不必再花錢去中英對照了.......
> 哈, 有點阿Q了.....

你這話的意思可不是說如果侯捷譯出 "Inside OLE",你還得中英對照看?
侯捷的譯本不能讓你放心,我封筆算了,呵呵。

> : 中文對我們而言,幾乎已超越了文字,成為一種圖象。一眼看過去,
> : 整頁的版面佈局像圖片似地留在腦海裡。當我們回憶某段內容時,
> : 便很容易地想起「在左邊頁次,右上角,有一坨墨水印的地方」。
> : 外文書很難留給我們這種印象(至少我沒有)。
> 形容得真好.
> 到現在為止. 我仍在等待侯sir允諾的幾本書 : OLE軟體的新國度, Internet淺談,
> 多媒體的製作......

my god,這些都是年代久遠的承諾,那時年輕力盛,心高志遠,so...。
請各位將這些記憶永遠抹除。相關主題仍然可能會寫,但我不再敢給承諾了。
我將勤練「選擇性失憶症」。

> : 我們真的很需要好的電腦書中譯本!我希望已經被讀者認同的幾位
> : 用心的譯者,繼續努力經營這一份志業。
> : 至於你說「希望侯先生能夠成立一個工作室,集天下英才而用之…」,
> : 嗯…師娘看了有話要說。以下是美靜的話,她說如果沒有原文照登,
> : 便敲我的頭。
>
> 呵 我記得侯sir說, 有位讀者提到 : 就算以後的成就不比侯sir, 那老婆也要和大嫂
> 一樣漂亮. 那麼我也想說 就算以後成就和老婆都不比侯sir, 那麼文筆也要像侯
> sir一樣犀利.

老婆(1)長得如何,要靠機緣,成就(2)和文筆(3),靠自己努力。
所以,我不敢說你(1)做得到,但只要努力,(2)(3) 都是你的。

不知道什麼時候開始,好像盛傳侯捷有美眷如花。咳,謠言止於智者。

> : ------------------------------------------------------------↓
> : 侯捷是一個矛盾的人,在他的本心自性與責任感之間。
> : 他是個嚮往閒雲野鶴般生活的人。他最大的願望,就是住到鄉下,
> : 有白雲清風相伴,有繁花綠樹為鄰。能夠悠閒地研究他喜歡的技術,
> : 悠閒地整理他的心得,悠閒地出版,悠閒地與他的讀者互動。
> : 但是他的責任心與此相悖。看到臺灣的電腦技術書籍現況以及臺灣的
> : 電腦原文書翻譯現況,他又對自己有許多期許。
> : ...
> : 我想他永遠會在感性與理性之間徘迴。但是畢竟本性大過一切,我想
> : 他不會往開辦企業這條路走。
> : -- 美靜
> : ------------------------------------------------------------↑
> : 太座都這麼說了,就算是我對這位讀者的回覆吧 :)。
>
> 當年嚴復翻譯了天演論, 法意, 群已權界論...但是那終是屬於他個人的才華演
> 出, 影響不了幾個中國人的. 那不如那位不諳英文的林琴南, 翻了一百多部的小
> 說, 影響的層面就更廣了. 我的意思是. 如果樣樣作品都講究藝術, 都要信雅達,
> 那麼就像台灣的電影一樣, 只能拿幾個不實際的獎項, 卻永遠沒有搶救雷恩大兵
> 的氣勢.沒有企業的商品, 就只能像個藝術品, 供人憑弔. 侯孝賢的戀戀風塵怎麼
> 說都沒有侏欏記的偉大, 這就是企業化的區別.

首先,你不能否認  "侏儸記" 也拍得很不錯。

假設現在的電腦書平均是 60 分,而侯捷能企業化地每年做出 20 本 75 分的書,
或個人化地每年做出 3 本 95 分的書,你說什麼是比較「偉大」的呢?

這就要看你對偉大是如何定義了。

不,你不能說 20 本 75 分的書比較偉大!

不,你也不能說 3 本 95 分的書比較偉大!

因為它們想要達成的目標,以及它們想要服務的層級,不一樣。

我選擇 3 本 95 分,因為我同意讀者王凱所言:『銷售量可以表現一本書的價值;讀者如何看待一本書,更可以表現它的價值』

同時,我也希望影響本土出版界的態度,並且在文章中影響青年學子的行事態度、執著精神、理想色彩。

這樣講自己,有點不好意思了。暢言余志而已。

若有人問起我的志業,我要說,我只希望,在 90 年代的一群資訊人的學習之路上,侯捷曾經溫暖地陪伴他們,甚至給他們一些好的影響。


●讀者來函 5


> 侯大哥:
> 在看過你的許多著作之後,對程式設計的功力是更上層樓.
> 我想稱讚誇獎的話,就不多說了,只想你說聲:
> 在台灣讀到你寫的中文書,真是台灣人的福氣,幸福.
> 有幾個問題想請教你:
> 1.關於The C++ Primer之中譯本何時出版呢?
> 還是你現在正在度過世紀末的海外假期呢?

我正在新竹準備度過世紀末的最後一個農曆年。

<C++ Primer> 中文版預定 1999/09 出版,但有可能提前。提前的機率愈來愈大,
but no promise.

> 2.若有一16位元之函式庫,是否需以COM或其他方法將其
> 轉成32位元之函式庫或是做成DLL以供連結?

欲將 16 位元函式庫供 32 位元程式使用(聯結),需將之轉為 32 位元函式庫(不論是 DLL 或 non-DLL 都一樣),或使用 thunking 技術。

> 3.我本身是機械科五專五年級的學生,對於即將畢
> 業的我心中有一個疑問想請教你,我曾經休學一年
> 如今卻想 ''延修'' 考資管方面的科系,雖然在本科推甄
> 直昇二技應是沒問題,但心中還是想延六考資管
> 這樣值得一試嗎?
> 在虎技看著你的書發愁迷惑的讀者

不知道,因為考量點很多,而我不認識你。請教你身邊的師長(他們比較瞭解你),才會得到比較實際而有參考價值的資訊。

-- 不知道為什麼你在虎技看著我的書卻發愁迷惑的侯捷


●讀者來函 6


> 非常冒昧請教您一些問題
> 最近因為於 Windows98 Full Screen DOS 下,
> 寫一 1024*768*256 Mode 圖形程式, 卻經常
> 切換 Windows & DOS 時, 會出現不正常現
> 象, 可否教導我如何正確使用此模式下之
> 圖形程式
> 恭喜您的大作(Windows95 系統程式設計) 已出版
>
> 突如其來的問題請見諒, 非常感謝...

<Windows95 系統程式設計 - 虛擬機器與 VxD 程式設計> 一書 p463~p464 有你要的答案:

使用者經由 Windows 95 工作列(taskbar)或其他的使用者介面元件,選擇一個 VM,使它擁有焦點(focus)。這個 focus VM 會被移到前景。SHELL VxD 利用 Set_Device_Focus 這一系統控制訊息,將硬體的所有權移轉到新的 focus VM 身上。如果新的 focus VM 在視窗中執行,SHELL 會轉移很多 devices(包括顯示幕)的所有權給 System VM(張訓賓註:即使此時的 focus VM 並非 System VM);如果新的 focus VM 在全螢幕中執行, SHELL 則把顯示幕指定給該 VM。VDD 回應 Set_Device_Focus 訊息的作法是:將前一個顯示幕擁有者的狀態記錄下來,並「安裝」新的擁有者的狀態(張訓賓註:所謂安裝,包括「初始化」或「回復先前狀態」)。

張訓賓註:其中最大的問題在於高解析度圖形模式下需要很大的記憶體來虛擬化該 display memory,這會使得 VM 間的切換變得緩慢而不切實際。因此 VDD 通常只對 mode 13h 以下的模式做虛擬化。

感謝本章(chap13)檢閱者張訓賓先生的補充,填補了所有的技術縫隙。

結論是:VDD 只對 mode 13h 以下的模式做虛擬化,所以當你在全螢幕模式中進入繪圖模式,不可能「畫面正常地」切回視窗模式。



●讀者來函 7


> 侯先生嗎 我姓李想請教你一個問題,我買一本你寫的 windows vxd system
> driver , 要撰寫 driver 不是要經由 microsoft whql 的認證嗎,那和自己
> 以 vxd 撰寫的 driver 有何不同, 謝謝 1999.2.3

我不清楚什麼是 Microsoft whql 認證(請識者有以教我)。此書(全名 "Windows95 系統程式設計 - 虛擬機器與 VxD 程式設計")一如其副標所示,教你虛擬機器的原理以及 VxD 程式設計。如果你寫的 drivers 需要 Microsoft 的認證,那也是你的產品要行銷全世界或者想要掛上Microsoft 的什麼標記的時候。閱讀此書是學習技術,與認證無關。

--- the end