最近需要在Linux上編譯Windows DLL, 用Google找了一下, 結論是用MinGW來達成.
看了一些網頁, 都在講怎麼在Linux先編譯MinGW. 可是都沒成功.
後來在MinGW網頁裡的FAQ找到一個官方做法1, 使用x86-mingw32-build.sh (這檔案包含在x86-mingw32-build.sh-0.0-20061107-1.tar.bz2), 使用方法請加--help就可以看到了.
這個script會以互動模式把編譯前需要的組態和檔案搞定. 過程中, 會詢問source packages要從哪裡獲得. 第一次編譯的我, 從網路上下載囉, 下載後會把檔案放在你指定的位置, 假設/opt/mingw32/src)
但, 在編譯binutil時, 是使用binutils-2.17.50-20060716-1-src.tar.gz這個檔案, 會使得編譯失敗.
這時, 我們只去MinGW網站下載binutils-2.19.1-src.tar這個檔案, 並放入/opt/mingw32/src裡, 然後將先前的binutils-2.17.50-20060716-1-src.tar.gz先暫時移到別的地方.
然後, 重新執行x86-mingw32-build.sh並在過程中指定source packages從/opt/mingw32/src裡取得. 這樣就可以順利編譯出MinGW.
然後, 我們就可以用MinGW編譯出Windows的執行檔(.exe)和函式庫(.lib和.dll).
1. MinGW cross compiler for Linux build environment, http://www.mingw.org/wiki/LinuxCrossMinGW
星期日, 3月 29, 2009
星期一, 9月 29, 2008
星期一, 8月 25, 2008
很奇怪的一個禮拜
這禮拜的實在很~!@#$%^&*()_+
莫名奇妙的就在公司渡過兩個夜晚.
假日也莫名奇妙的出現在公司.
還被嫌做不好...真無言.
雖然也和上級反應過, 但, 為了種種的理由...我想我也只能對主管發發牢騷...然後還是承受下來吧.
但, 在開會的過程中, 情緒和情緒化的字眼發洩過後, 自己坐下冷靜反省, 自己也確實有做錯的地方.
可是, 最近的工作模式好像在幾個月前也曾出現過, 當時的狀況實在很糟糕. 現在又有同樣的感覺.
不過, 還是把自己的心情收拾整理一下, 把自己的事做好.
其他的事就交給該負起責任的人吧.
莫名奇妙的就在公司渡過兩個夜晚.
假日也莫名奇妙的出現在公司.
還被嫌做不好...真無言.
雖然也和上級反應過, 但, 為了種種的理由...我想我也只能對主管發發牢騷...然後還是承受下來吧.
但, 在開會的過程中, 情緒和情緒化的字眼發洩過後, 自己坐下冷靜反省, 自己也確實有做錯的地方.
可是, 最近的工作模式好像在幾個月前也曾出現過, 當時的狀況實在很糟糕. 現在又有同樣的感覺.
不過, 還是把自己的心情收拾整理一下, 把自己的事做好.
其他的事就交給該負起責任的人吧.
星期二, 8月 19, 2008
最近在工作上遇到了...
最近在工作上接觸到了許多新東西,像是MAC controller & PHY chip, NC-SI, SPI Flash.
Media Independent Interface(MII)是一種標準的介面用來將MAC controller和PHY chip連接在一起. [1]和[2]介紹了幾個MII的變種. 即然是標準的介面, 當然就有一些規範, 但最近遇到的PHY chips好像並沒有完全遵守規範在做. 使得driver在透過MII取得PHY chip status時, 必需針對使用的PHY chip做些調整, 真麻煩.
NC-SI[3]則沒有摸哪麼多, 只是知道在搞什麼鬼而已. 從功能面來講, 它可以用來設定MAC controller將特定MAC address的frame forward到特定的目的地, 當然也要MAC controller支援這種功能才行. 而這功能稱之為Sideband.
至於SPI Flash則是老掉牙了, 一句話帶過, 就是透過SPI存取Flash.
這些東西雖然簡單, 但是, 要讓driver能徹底發揮硬體特性的同時source code又俱有延展性和可讀性, 可真是需要一番功夫啊.
[1] Media Independent Interface
[2] MII (Media Independent Interface 介质无关接口)
[3] Network Controller Sideband Interface (NC-SI) Specification
Media Independent Interface(MII)是一種標準的介面用來將MAC controller和PHY chip連接在一起. [1]和[2]介紹了幾個MII的變種. 即然是標準的介面, 當然就有一些規範, 但最近遇到的PHY chips好像並沒有完全遵守規範在做. 使得driver在透過MII取得PHY chip status時, 必需針對使用的PHY chip做些調整, 真麻煩.
NC-SI[3]則沒有摸哪麼多, 只是知道在搞什麼鬼而已. 從功能面來講, 它可以用來設定MAC controller將特定MAC address的frame forward到特定的目的地, 當然也要MAC controller支援這種功能才行. 而這功能稱之為Sideband.
至於SPI Flash則是老掉牙了, 一句話帶過, 就是透過SPI存取Flash.
這些東西雖然簡單, 但是, 要讓driver能徹底發揮硬體特性的同時source code又俱有延展性和可讀性, 可真是需要一番功夫啊.
[1] Media Independent Interface
[2] MII (Media Independent Interface 介质无关接口)
[3] Network Controller Sideband Interface (NC-SI) Specification
星期日, 8月 17, 2008
Free Accounting Software | GnuCash
GnuCash是一個記帳軟體,用來記記帳,分析自己平常都把錢花在什麼地方我想是很足夠的.
不過,事實上,也是因為我的需要也就是記記帳,所以對GnuCash的認識也僅止於此.
GnuCash, http://www.gnucash.org/
不過,事實上,也是因為我的需要也就是記記帳,所以對GnuCash的認識也僅止於此.
GnuCash, http://www.gnucash.org/
訂閱:
文章 (Atom)