現在開始,著手在Linux環境下建立工程。我的編程環境是RedFlag5.0+Eclipse+GCC+QT。
# * 代碼編輯 *
雖然有Eclipse,並且QT也提供了很好的插件給Eclipse實現基本的可視化編程。不過Eclipse的速度實在是太慢了,所以,基本上所有的工作都是在sh裡面進行的。代碼編寫幾乎完全用vi(vim)。
vi的功能實在是太強大了。不知道這個世界上還有沒有更強大的編輯器,在命令行模式下,能夠語法標亮,處理多個文件,搜索,替換。各種編輯模式,實在是歎為觀止。vi可能比dos時代的Borland公司的招牌軟件sk更加精致和高效。
# * 編譯 *
從學習編程以來,我似乎從來沒有手工建立過Make文件。最早的時候,編程工具我似乎用的就是TC2.0,文字模式的集成開發環境。現在已經不太記得裡面的工程文件是怎麼建立的了。
不過在純命令行模式下工作確實比較爽。有一種控制全局的感覺。所有的編譯細節,每一個編譯參數雖然仍然不是你自己親手控制的,但是至少你可以看到。
看著編譯的屏幕輸出從屏幕上像雨水一樣流過,那是一種怎樣莫名興奮的感覺啊。
# * 新的學習模式 *
開源的性質使你可以接觸到大量優秀的代碼,昨天,公司需要一個CRC16的函數,之前我已經做過一個了,不過多項式不符合要求,然後在Linux下:
cd $gcc-include-dir
dir 》 dir
vi dir
/crc
然後就找到了幾組crc的標准實現。從很早的時候我就被告知如果要提高編程水平,就要讀大量的源代碼,培養語感。這次終於找到了資源。
# * 一個新奇的項目管理方式 *
kernel的編譯讓我感覺很方便。上上周的時候吧,做Linux的驅動,在實際動手的時候,我並沒有從書上看到如何把你的模塊添加到Linux內核裡。但是,經過簡單的查看,我發現了各級目錄下的Kconfig和Makefile,非常簡單的處理之後,我的驅動代碼就可以出現在 make menuconfig 中的圖形化界面裡了。工作中經常需要處理一個項目的多個版本的問題。CVS解決了一部分問題。不過,kernel的這種配置方式對這類工作可能是一種非常有效的手段。希望盡快可以弄清楚它的實現機制。
# * thizLinux的啟示 *
thizLinux中有一個很方便的安裝軟件的工具 apt-get(在它所在的Linux分支裡都提供有這個工具)。它的使用需要配置一個服務器。任何時候你需要什麼軟件,或者軟件的源代碼,只要運行:
apt-get install 《關鍵字》
就可以從服務器上搜索所有匹配的軟件。如果該軟件需要基礎的運行庫支持,那麼它會依據依賴關系為你自動下載安裝所有的底層軟件。太酷了。
# * Final *
看到這些美好的東西,實在是一種享受。
現在開始,著手在Linux環境下建立工程。我的編程環境是RedFlag5.0+Eclipse+GCC+QT。
# * 代碼編輯 *
雖然有Eclipse,並且QT也提供了很好的插件給Eclipse實現基本的可視化編程。不過Eclipse的速度實在是太慢了,所以,基本上所有的工作都是在sh裡面進行的。代碼編寫幾乎完全用vi(vim)。
vi的功能實在是太強大了。不知道這個世界上還有沒有更強大的編輯器,在命令行模式下,能夠語法標亮,處理多個文件,搜索,替換。各種編輯模式,實在是歎為觀止。vi可能比dos時代的Borland公司的招牌軟件sk更加精致和高效。
# * 編譯 *
從學習編程以來,我似乎從來沒有手工建立過Make文件。最早的時候,編程工具我似乎用的就是TC2.0,文字模式的集成開發環境。現在已經不太記得裡面的工程文件是怎麼建立的了。
不過在純命令行模式下工作確實比較爽。有一種控制全局的感覺。所有的編譯細節,每一個編譯參數雖然仍然不是你自己親手控制的,但是至少你可以看到。
看著編譯的屏幕輸出從屏幕上像雨水一樣流過,那是一種怎樣莫名興奮的感覺啊。
# * 新的學習模式 *
開源的性質使你可以接觸到大量優秀的代碼,昨天,公司需要一個CRC16的函數,之前我已經做過一個了,不過多項式不符合要求,然後在Linux下:
cd $gcc-include-dir
dir 》 dir
vi dir
/crc
然後就找到了幾組crc的標准實現。從很早的時候我就被告知如果要提高編程水平,就要讀大量的源代碼,培養語感。這次終於找到了資源。
# * 一個新奇的項目管理方式 *
kernel的編譯讓我感覺很方便。上上周的時候吧,做Linux的驅動,在實際動手的時候,我並沒有從書上看到如何把你的模塊添加到Linux內核裡。但是,經過簡單的查看,我發現了各級目錄下的Kconfig和Makefile,非常簡單的處理之後,我的驅動代碼就可以出現在 make menuconfig 中的圖形化界面裡了。工作中經常需要處理一個項目的多個版本的問題。CVS解決了一部分問題。不過,kernel的這種配置方式對這類工作可能是一種非常有效的手段。希望盡快可以弄清楚它的實現機制。
# * thizLinux的啟示 *
thizLinux中有一個很方便的安裝軟件的工具 apt-get(在它所在的Linux分支裡都提供有這個工具)。它的使用需要配置一個服務器。任何時候你需要什麼軟件,或者軟件的源代碼,只要運行:
apt-get install 《關鍵字》
就可以從服務器上搜索所有匹配的軟件。如果該軟件需要基礎的運行庫支持,那麼它會依據依賴關系為你自動下載安裝所有的底層軟件。太酷了。
# * Final *
看到這些美好的東西,實在是一種享受。