???? 錄音機程序對于一個初學者來說,其實可以說是難,也可以說不難。難是在于初學者經驗少,可能碰到一些bug不知道如何處理;不難是因為類似的應用,只要懂得使用搜索引擎,那么類似的例子就一大把。段伏櫪是菜鳥,但并不是笨鳥,倒是找了不少代碼,拼拼湊湊還做了個像模像樣的程序。只不過這錄音機程序卻有一個很大的問題:不能錄音!當然,這也是最致命的問題,不能錄音的程序還能叫錄音機么?
???
??? 段伏櫪開始頭大了,感覺這一周來的辛苦,還是沒有找到突破口。所幸老章看到冥思苦想的段伏櫪,提了個建議:不嚴格來說,Windows CE的API函數可以看成是Windows的子集,不妨將代碼編譯成Windows程序試試看,先確認代碼是否正確。經老章這么一指點,段伏櫪覺得忽然豁然開朗起來。說干就干,打開Visual Studio 6.0,將Windows CE的代碼全部放進去編譯。還真別說,這代碼確實沒問題,在Windows XP上能夠正確錄音!
???
??? 那為什么在Windows CE上不行呢?等等,Windows XP上如果無法錄音的話,一般就是驅動程序的問題,那么在這Windows CE設備是不是也是如此呢?很有可能!段伏櫪將目光鎖定于驅動程序。
???
??? 公司的研發部分為硬件部和軟件部,而軟件部又細分為應用組和系統組。段伏櫪,老章和一個姓郃的女孩屬于應用組;而系統組只有一個人,便是老柳。當段伏櫪興沖沖地跟老柳講解自己的懷疑時,老柳還半信半疑,末了,說一句:“不一定啦!你再試試看!說不定是你代碼問題呢!”
???
??? 沒辦法,老柳不同意,段伏櫪也無計可施,只好回自己的辦公桌冥冥思索。時間又過兩天,還是沒有在應用代碼上找出任何有可能的地方。沒轍,段伏櫪再一次找到了老柳。老柳估計這次是躲不掉了,想了想,便同意了,于是便在段伏櫪的電腦上安裝Platform Build 4.2。
???
??? Windows CE是一個可定制的系統,Platform Build 4.2便是用來定制的工具。簡單點來說,該工具首先將C++代碼編譯成exe和dll文件,然后將這些生成的文件拷貝到工程目錄,最后打包成系統nk.bin。在這里老柳耍了個滑頭,雖然給段伏櫪安裝了Platform Build,但并沒有將所有的驅動代碼文件給他,而僅僅是給了音頻驅動的代碼,以及已經編譯生成的exe和dll文件。老柳告訴段伏櫪,首先進入命令行,用“build”來編譯音頻驅動,最后調用“Make Image”來生成系統,并且還特意警告段伏櫪,絕對不能點擊菜單上的“Sysgen”。為什么不能點擊“Sysgen”呢?因為該命令會重新編譯所有的驅動程序,而老柳根本就沒有將所有的驅動程序給段伏櫪,如果選擇此命令,那么絕對會出現一大堆的錯誤。只不過這原因老柳沒有告訴段伏櫪,而他自然也不懂得這些。但既然能夠開始調試音頻驅動,那別的什么都無所謂了。
???
??? 其實這完全算不上調試,因為段伏櫪什么工具都沒有,就連一個最簡單的串口調試版也沒有。當然,段伏櫪自然不會去計較這些,或是說,其實他根本就不知道這些。他知道自己所能做的是,一行一行看代碼,試圖找出蛛絲馬跡。只不過這工作對于菜鳥來說,確實是太困難了,連日來的不斷思索,還是沒有找到真正的源泉。段伏櫪正垂頭喪氣地趴在桌子上之時,忽然手機短信響起,是劉思敏的:“今晚能早點回來么?”
???
??? 段伏櫪看了看電腦,發現已經差不多九點。雖然平時都是加班到十點多才回去,但今天想得實在是頭大,并且反正暫時沒有頭緒,干脆先回去吧。和技術總監說了一下,段伏櫪背起包包往公交站走去。
???
??? 算起來,干姐搬走已經差不多半個月了。段伏櫪本以為只有兩個人的時候,總會發生點什么,但事實上,兩人的話語反而比三個人還在的時候要少多了。也不知道為什么,干姐還在的時候,段伏櫪自己還能和劉思敏說說笑笑。可當只有兩個人的時候,面對面,卻不知道該說些什么了。氣氛很沉悶,很尷尬,于是段伏櫪干脆每天都加班到很晚,回去的時候劉思敏也差不多睡了。這時候往往是劉思敏問一聲:“你加班回來了?”
???
??? “嗯。”然后段伏櫪便去洗澡,洗完衣服,出來之后一般劉思敏也熄燈睡覺了。既然兩人面對面尷尬,干脆就什么都不要說了吧,段伏櫪覺得這樣挺好,雖然心底有那么點點失望。
???
??? 只不過今天劉思敏居然會主動讓自己早點回去,莫不是有什么不好的事情吧?這么一想,段伏櫪一激靈,放棄了省錢坐公交的打算,直接奔向地鐵口。30分鐘的地鐵,相對于要1個小時的公交,其快速自然不言而喻。只是在心急如焚的段伏櫪心理,這30分鐘卻是那么的難熬,第一次覺得地鐵居然那么慢。好不容易在世界之窗下了地鐵,段伏櫪趕緊快步往出租屋奔去。匆匆打開大門,就聽到痛苦的呻吟聲:劉思敏究竟怎么了?
- 前言
- 《那些年啊,那些事——一個程序員的奮斗史》——01
- 《那些年啊,那些事——一個程序員的奮斗史》——02
- 《那些年啊,那些事——一個程序員的奮斗史》——03
- 《那些年啊,那些事——一個程序員的奮斗史》——04
- 《那些年啊,那些事——一個程序員的奮斗史》——05
- 《那些年啊,那些事——一個程序員的奮斗史》——06
- 《那些年啊,那些事——一個程序員的奮斗史》——07
- 《那些年啊,那些事——一個程序員的奮斗史》——08
- 《那些年啊,那些事——一個程序員的奮斗史》——09
- 《那些年啊,那些事——一個程序員的奮斗史》——10
- 《那些年啊,那些事——一個程序員的奮斗史》——11
- 《那些年啊,那些事——一個程序員的奮斗史》——12
- 《那些年啊,那些事——一個程序員的奮斗史》——13
- 《那些年啊,那些事——一個程序員的奮斗史》——14
- 《那些年啊,那些事——一個程序員的奮斗史》——15
- 《那些年啊,那些事——一個程序員的奮斗史》——16
- 《那些年啊,那些事——一個程序員的奮斗史》——17
- 《那些年啊,那些事——一個程序員的奮斗史》——18
- 《那些年啊,那些事——一個程序員的奮斗史》——19
- 《那些年啊,那些事——一個程序員的奮斗史》——20
- 《那些年啊,那些事——一個程序員的奮斗史》——21
- 《那些年啊,那些事——一個程序員的奮斗史》——22
- 《那些年啊,那些事——一個程序員的奮斗史》——23
- 《那些年啊,那些事——一個程序員的奮斗史》——24
- 《那些年啊,那些事——一個程序員的奮斗史》——25
- 《那些年啊,那些事——一個程序員的奮斗史》——26
- 《那些年啊,那些事——一個程序員的奮斗史》——27
- 《那些年啊,那些事——一個程序員的奮斗史》——28
- 《那些年啊,那些事——一個程序員的奮斗史》——29
- 《那些年啊,那些事——一個程序員的奮斗史》——30
- 《那些年啊,那些事——一個程序員的奮斗史》——31
- 《那些年啊,那些事——一個程序員的奮斗史》——32
- 《那些年啊,那些事——一個程序員的奮斗史》——33
- 《那些年啊,那些事——一個程序員的奮斗史》——34
- 《那些年啊,那些事——一個程序員的奮斗史》——35
- 《那些年啊,那些事——一個程序員的奮斗史》——36
- 《那些年啊,那些事——一個程序員的奮斗史》——37
- 《那些年啊,那些事——一個程序員的奮斗史》——38
- 《那些年啊,那些事——一個程序員的奮斗史》——39
- 《那些年啊,那些事——一個程序員的奮斗史》——40
- 《那些年啊,那些事——一個程序員的奮斗史》——41
- 《那些年啊,那些事——一個程序員的奮斗史》——42
- 《那些年啊,那些事——一個程序員的奮斗史》——43
- 《那些年啊,那些事——一個程序員的奮斗史》——44
- 《那些年啊,那些事——一個程序員的奮斗史》——45
- 《那些年啊,那些事——一個程序員的奮斗史》——46
- 《那些年啊,那些事——一個程序員的奮斗史》——47
- 《那些年啊,那些事——一個程序員的奮斗史》——48
- 《那些年啊,那些事——一個程序員的奮斗史》——49
- 《那些年啊,那些事——一個程序員的奮斗史》——50
- 《那些年啊,那些事——一個程序員的奮斗史》——51
- 《那些年啊,那些事——一個程序員的奮斗史》——52
- 《那些年啊,那些事——一個程序員的奮斗史》——53
- 《那些年啊,那些事——一個程序員的奮斗史》——54
- 《那些年啊,那些事——一個程序員的奮斗史》——55
- 《那些年啊,那些事——一個程序員的奮斗史》——56
- 《那些年啊,那些事——一個程序員的奮斗史》——57
- 《那些年啊,那些事——一個程序員的奮斗史》——58
- 《那些年啊,那些事——一個程序員的奮斗史》——59
- 《那些年啊,那些事——一個程序員的奮斗史》——60
- 《那些年啊,那些事——一個程序員的奮斗史》——61
- 《那些年啊,那些事——一個程序員的奮斗史》——62
- 《那些年啊,那些事——一個程序員的奮斗史》——63
- 《那些年啊,那些事——一個程序員的奮斗史》——64
- 《那些年啊,那些事——一個程序員的奮斗史》——65
- 《那些年啊,那些事——一個程序員的奮斗史》——66
- 《那些年啊,那些事——一個程序員的奮斗史》——67
- 《那些年啊,那些事——一個程序員的奮斗史》——68
- 《那些年啊,那些事——一個程序員的奮斗史》——69
- 《那些年啊,那些事——一個程序員的奮斗史》——70
- 《那些年啊,那些事——一個程序員的奮斗史》——71
- 《那些年啊,那些事——一個程序員的奮斗史》——72
- 《那些年啊,那些事——一個程序員的奮斗史》——73
- 《那些年啊,那些事——一個程序員的奮斗史》——74
- 《那些年啊,那些事——一個程序員的奮斗史》——75
- 《那些年啊,那些事——一個程序員的奮斗史》——76
- 《那些年啊,那些事——一個程序員的奮斗史》——77
- 《那些年啊,那些事——一個程序員的奮斗史》——78
- 《那些年啊,那些事——一個程序員的奮斗史》——79
- 《那些年啊,那些事——一個程序員的奮斗史》——80
- 《那些年啊,那些事——一個程序員的奮斗史》——81
- 《那些年啊,那些事——一個程序員的奮斗史》——82
- 《那些年啊,那些事——一個程序員的奮斗史》——83
- 《那些年啊,那些事——一個程序員的奮斗史》——84
- 《那些年啊,那些事——一個程序員的奮斗史》——85
- 《那些年啊,那些事——一個程序員的奮斗史》——86
- 《那些年啊,那些事——一個程序員的奮斗史》——87
- 《那些年啊,那些事——一個程序員的奮斗史》——88
- 《那些年啊,那些事——一個程序員的奮斗史》——89
- 《那些年啊,那些事——一個程序員的奮斗史》——90
- 《那些年啊,那些事——一個程序員的奮斗史》——91
- 《那些年啊,那些事——一個程序員的奮斗史》——92
- 《那些年啊,那些事——一個程序員的奮斗史》——93
- 《那些年啊,那些事——一個程序員的奮斗史》——94
- 《那些年啊,那些事——一個程序員的奮斗史》——95
- 《那些年啊,那些事——一個程序員的奮斗史》——96
- 《那些年啊,那些事——一個程序員的奮斗史》——97
- 《那些年啊,那些事——一個程序員的奮斗史》——98
- 《那些年啊,那些事——一個程序員的奮斗史》——99
- 《那些年啊,那些事——一個程序員的奮斗史》——100
- 《那些年啊,那些事——一個程序員的奮斗史》——101
- 《那些年啊,那些事——一個程序員的奮斗史》——102
- 《那些年啊,那些事——一個程序員的奮斗史》——103
- 《那些年啊,那些事——一個程序員的奮斗史》——104
- 《那些年啊,那些事——一個程序員的奮斗史》——105
- 《那些年啊,那些事——一個程序員的奮斗史》——106
- 《那些年啊,那些事——一個程序員的奮斗史》——107
- 《那些年啊,那些事——一個程序員的奮斗史》——108
- 《那些年啊,那些事——一個程序員的奮斗史》——109
- 《那些年啊,那些事——一個程序員的奮斗史》——110
- 《那些年啊,那些事——一個程序員的奮斗史》——111
- 《那些年啊,那些事——一個程序員的奮斗史》——112
- 《那些年啊,那些事——一個程序員的奮斗史》——113
- 《那些年啊,那些事——一個程序員的奮斗史》——114
- 《那些年啊,那些事——一個程序員的奮斗史》——115
- 《那些年啊,那些事——一個程序員的奮斗史》——116
- 《那些年啊,那些事——一個程序員的奮斗史》——117
- 《那些年啊,那些事——一個程序員的奮斗史》——118
- 《那些年啊,那些事——一個程序員的奮斗史》——119
- 《那些年啊,那些事——一個程序員的奮斗史》——120
- 《那些年啊,那些事——一個程序員的奮斗史》——121
- 《那些年啊,那些事——一個程序員的奮斗史》——122
- 《那些年啊,那些事——一個程序員的奮斗史》——123
- 《那些年啊,那些事——一個程序員的奮斗史》——124
- 《那些年啊,那些事——一個程序員的奮斗史》——125
- 《那些年啊,那些事——一個程序員的奮斗史》——126
- 《那些年啊,那些事——一個程序員的奮斗史》——127
- 《那些年啊,那些事——一個程序員的奮斗史》——128 (終章)