當GM向我拍下一張使用Linux與C的游戲單子時,眼前頓時冒出了蘭波的名篇.......   
   幸好,一切墮落都有一個美好的開始:

   1.另類唯美的SuSe Linux 10
       Windows與Linux的百年大戰中,桌面系統這塊向來是Windows最高枕無憂的鐵桶江山。不過這次,另類的Suse 在上面輕輕的撬了一塊磚。
       首先是界面,選了KDE、Suse-default的外觀主題后,在我這樣的美學形式主義者看來,Suse PK WinXP絲毫不落下風,對上Win2000就是穩勝。
       更重要是Suse的易用性也做得很足。每次點右鍵總有貼心的功能出現,WinXP可能得裝上Power Toys之類插件才能相若,還有美麗的Yast控制面板,還有所有軟件包的自動在線更新。
       而且,Suse帶的一系列K字頭的軟件也不含糊,寫字板Kate可以匹敵UltraEdit,Konsole是很好用的console,KDE 即時通信能同時連通MSN等im軟件.....雖然應用的數量還是不夠,但現在google和它代表的主義橫行,越來越多應用移到了互聯網上,只要FireFox持續更新,微軟在桌面應用上的優勢就會被稀釋。
 
       不過,Suse Linux 應該算是Linux中的一個另類。看一下Redhat的fedora core 4,就能發現丫還很忠實的保留著Linux桌面難看難用的傳統。不過這個另類唯美者可沒兼有低調的美德,google一下就能看到"Novell揚言Suse 9.3要讓Windows下課" 的宣傳。我覺得,那至少先要解決桌面程序的運行速度問題。

  2. 萬年不變,詭異莫測的make
       雖然Suse很好,但很快又要面對make這個家伙。在我經歷里,能夠順順利利輸完下面這三行指令,然后安裝完畢的程序太稀有了。
 
>./configure
>make
>make install

       這次要裝一個使用SDL庫的游戲,果然又是如此。
       首先報找不到libSDL_image.so,結果發現原來/usr/lib里這個so帶了版本號:libSDL_image_1.2.so,加link搞定。然后又報找不到SDL_image.h,跑去SDL主站下了源碼補上...
       都2005年了,問題還是這樣層出不窮,飄忽不定,團隊里如果沒有久經摔打的老將,經常會被搞得手足無措,目光呆滯。

3.復雜化的趨勢讓人很害怕的內核模塊HelloWorld
       因為要直接操控IO口,所以稍稍看一下內核模塊的東西。天降一本〈Linux 設備驅動程序  2nd〉中文版,hello.c 很簡單,而且gcc -c hello.c 就能完成編譯。
      但輪到我gcc的時候,卻出來兩屏的錯誤。沒想到自己的人品值急降到這個程度,愣了好一陣,才發現這本"中文版"講的是linux kernel 2.4的事情,到2.6已經變天了。只好重新emule一本講kernel2.6的第3版,再配合google,才明白2.6里hello.c變了,還需要預裝kernel-devel,更需要使用新鮮kbuild系統來編譯:
       首先寫一個不明所以的不完整Makefile:
 obj-m := hell.o
    
       然后用這條指令來編譯,才得出新的hello.ko 文件:
make -/lib/modules/`uname -r`/build M=`pwd` modules 

       更倒霉的是我一開始用的Suse 9.3居然沒帶kernel-devel.rpm,搞得我又要用kernel-source,配置、編譯一遍內核....
  
      都一把年紀了,還要為了個helloword被這樣拖著滿場飛奔,實在是糟糕透頂的經歷,而且,2.4->2.6里復雜化的趨勢更讓我還在門外就覺得有點涼意。  
       如果程序世界不是越來越簡單,而是越來越復雜;越來越多東西不能靠過去的經驗發揮同理可證的作用而需要完全重新學習,那我們這些老家伙的飯碗不是很危險嗎???