比較gFortran在Mac上與在Linux上
目前我在我的MacBook上安裝了兩套gfortran, 安裝細節分別是以Mac OS X 10.5.1 Leopard + gfortran (詳閱)以及透過VMware Fusion 1.1所安裝的Fedora Core 6 Linux + gfortran兩種形式, 今天要來比較差異
實驗組: 純粹Mac OS上的gfortran
...
目前我在我的MacBook上安裝了兩套gfortran, 安裝細節分別是以Mac OS X 10.5.1 Leopard + gfortran (詳閱)以及透過VMware Fusion 1.1所安裝的Fedora Core 6 Linux + gfortran兩種形式, 今天要來比較差異
實驗組: 純粹Mac OS上的gfortran
自從升級成Leopard之後, 過去用慣了的AlienBBS似乎沒辦法順利移植到Leopard, 總是稍微用一用就自動關起來, 所以打算換別的軟體...
Mac上常見的三大BBS軟體就是AlienBBS. PCMan跟iTerm, AlienBBS已經宣告不行了, PCMan在試用之後, 發現效能真的有夠差的, 好慢哦!!! 而且對於文章中的url沒有辦法直接開啟瀏覽器閱讀, 所以也宣告失敗, 因此今天嘗試了iTerm...
1. 軟體下載: iTerm官方首頁, 目前已經更新到0.9.5, 今天比較了一下過去使用的0.8+中文化, 效能變好了, 速度變很快(備註: 我不懂, 只是單純的telnet或ssh, 為甚麼可以搞得這麼慢啊!!!)
2. 安裝後, 需要稍微設定一下, 不然進BBS後, 畫面會跳來跳去
subversion(svn)是我近年來使用得最密集的功能之一, 透過這個系統可以讓我跟研究室的成員進行多人開發,因此跟其他人之間不再需要去注意文件版本與同步的問題,因此特別寫下這個筆記...
checkout
說明:這是使用svn系統的第一步驟, 透過這個步驟可以從檔案庫取回檔案副本。
svn checkout svn+ssh://[username]@[host id]/[repos path]/
svn checkout file:///[repos path]/
update
說明:當每次開始要修改前,先透過這個指令取回最新版本的檔案。下面的兩個用法,第一種用法會把所在位置的目錄,以及其下的子目錄所有檔案,一併更新。第二種用法只是單純把某個特定檔案,或是某個特定目錄更新。
svn update
svn update [filename]
commit
說明:當這一次完成修改之後,使用這個指令來將修改送回檔案庫記錄,成為一個新的版本。
svn commit -m "[commit command]"
status
說明:查詢檔案狀態。可以在副本的任何一個目錄內執行這個指令,以下兩種用法也如同svn update一樣,所以我不再敘述一遍。
svn status
svn status [filename]
M filename1 (已修改檔案)
? filename2 (尚未加入svn系統管理)
A filename3 (已經透過svn add加入svn系統,但是尚未以svn commit送至檔案庫)
D filename4 (將已納入管理的檔案,以svn delete刪除,但是尚未以svn commit送至檔案庫)
add
說明: 將尚未納入管理的檔案,透過svn add將檔案納入管理,從此檔案庫就會多出這個檔案
svn add [filename]
delete
說明: 將已納入管理的檔案,透過這個指令來刪除這個檔案(備註:若直接用rm的方式來刪除檔案,他會被認為檔案遺失,所以下一次update時,會再次取回),從此檔案庫就不再有這個檔案的存在。當然,透過svn update [先前版本],還是可以把這個檔案取回。另外,若這個檔案有修改過,系統不會允許直接刪除,必須加上--force的強制指令,才能刪除掉這個檔案。
svn delete [filename]
svn delete [filename] --force
#include <iostream>
using namespace std;
class mammal {
public:
mammal () { cout << "Class mammal constructor\n"; }
virtual ~mammal () { cout << "Class mammal destructor\n"; }
void virtual speak() const { cout << "This is mammal's speaking\n"; }
};
class dog: public mammal {
public:
dog () { cout << "Class dog constructor\n"; }
virtual ~dog () { cout << "Class dog destructor\n"; }
void virtual speak() const { cout << "This is dog's speaking\n"; }
};
int main() {
mammal *pm[2];
// mammal
pm[0] = new mammal;
pm[0]->speak();
delete pm[0];
// dog
pm[1] = new dog;
pm[1]->speak();
delete pm[1];
return 0;
};
#include <iostream>
using namespace std;
class mammal {
public:
mammal () { cout << "Class mammal constructor\n"; }
virtual ~mammal () { cout << "Class mammal destructor\n"; }
void virtual speak() const { cout << "This is mammal's speaking\n"; }
void method01() const { cout << "This is method01\n"; }
void virtual method02() const { cout << "This is method02\n"; }
};
class dog: public mammal {
public:
dog () { cout << "Class dog constructor\n"; }
virtual ~dog () { cout << "Class dog destructor\n"; }
void virtual speak() const { cout << "This is dog's speaking\n"; }
void method02() const { cout << "This is method02\n"; }
};
int main() {
mammal *pm[2];
// mammal
pm[0] = new mammal;
pm[0]->speak();
pm[0]->method01();
delete pm[0];
// dog
pm[1] = new dog;
pm[1]->speak();
pm[1]->method01();
pm[1]->method02();
delete pm[1];
return 0;
};
#include <iostream>
using namespace std;
class mammal {
public:
mammal () { cout << "Class mammal constructor\n"; }
virtual ~mammal () { cout << "Class mammal destructor\n"; }
void virtual speak() const { cout << "This is mammal's speaking\n"; }
void method01() const { cout << "This is method01\n"; }
};
class dog: public mammal {
public:
dog () { cout << "Class dog constructor\n"; }
virtual ~dog () { cout << "Class dog destructor\n"; }
void virtual speak() const { cout << "This is dog's speaking\n"; }
void method02() const { cout << "This is method02\n"; }
};
int main() {
mammal *pm[2];
// mammal
pm[0] = new mammal;
pm[0]->speak();
pm[0]->method01();
delete pm[0];
// dog
pm[1] = new dog;
pm[1]->speak();
pm[1]->method01();
static_cast
delete pm[1];
return 0;
};
標籤: Programming::C++
其實寫C++程式到處都可以寫, 用什麼編輯器也都可以寫, 但是用某些特定編輯器或是GUI IDE, 可以加速開發過程...
各類IDE提供的功能中, 最讓我欣賞的就是變數自動補齊功能, 只要打幾個字母, 他會自動搜尋可能的清單, 我只需要選取就夠了, 這樣的功能是我認為最重要的一點...
一直以來常用的Kdevelop也有這樣的功能, 但是今天發現了Xcode 3.0也提供相同的功能, 他的開啟方式如下:
從上方的工具列: 「Xcode」->「Preference」
Preference裡面: 「Code Sense」 -> 「Automatically Suggest」 -> 「Immediate」
這是一部王力宏跟鈴木京香主演的日本電影, 從一開始王力宏的獨白開始, 發現他的聲音真的很不適合演戲, 就像是張震一樣, 聲音的感覺就很奇怪...
接著他跟鈴木京香之間, 鈴木京香沒有打扮的樣子真的很歐巴桑, 兩個人的互動根本像是姐弟戀一般, 也許找王力宏來演, 真的太娃娃臉了~~~
看完結論是, 這是一個不值得租的電影~~~
昨天下午三四點Leopard到貨, 訂貨時間是7號星期三, 而到貨時間則是12號星期一, 扣掉週六週日的休息時間, 實際到貨工作天數3天, 從香港寄來還算是不錯!
寄到系上後, 由學弟拿來給我, 馬上衝出學校, 去NOVA進了一顆Toshiba 160G SATA硬碟, 加上外接盒總價$3,300 NT, 把新硬碟放在MB內, 把舊硬碟放進外接盒, 非蘋果店的老闆不會拆裝硬碟, 幸好之前看過別人裝, 總算是成功裝好, 大約七點回到研究室...
Leopard安裝
Leopard的安裝, 首先把寄來的作業系統光碟放進光碟機內, 開機時按Alt, 以便切換成光碟開機(不按好像也會自己偵測, 但是會比較久, 不是很確定, 因為我沒選這個作法), 接著他直接會進到安裝畫面, 就該選的就選, 幾乎都是下一步下一步 (備註: 選擇安裝硬碟時, 因為我是全新硬碟放進去的, 還沒切割與格式化, 因此沒有硬碟讓你選, 所以得要從上方的下拉式選單找出磁碟工具, 來切割並格式化硬碟, 因為是完全新的硬碟, 所以亂搞也不用怕)
安裝模式有1. 安裝Mac OS X, 2. 封存並安裝, 3. 清除並安裝, 對現在的我而言, 硬碟是空的, 要封也沒東西可以封, 所以選1.或是3.應該都是一樣的...
因為我之後打算安裝Macport之類的軟體, 所以安裝前先選擇自己要安裝或不安裝的項目, 確定X11有安裝到, 另外把一些不要的語系移除, 除了英文. 繁體中文外, 我只有加裝了日語與簡體中文...
接著會先檢查DVD是否可以完全讀取, 接著我就丟給他自己跑~~~不需要理他~~~
失誤: 前兩次安裝失敗是因為片子有地方讀不到, 拿出片子檢查一下, 片子上面有點污垢, 找鄰近實驗室想問問有沒有光碟片清潔劑, 答案是沒有, 所以我只好用衛生紙沾水與肥皂來清潔, 幸好這樣一切OK
資料回復
安裝完全新的系統後, 他會問說有沒有舊系統要同步, 只要把舊硬碟透過USB插上, 接著就全部都過來了, iPhoto內的照片, iTunes內的音樂, 無線網路的金鑰, 連軟體都同步過來~~~
Bootcamp
Bootcamp安裝整個冏啊! 切割完把XP放進去, 第一次直接用他切割好的磁區, 裝好一遍後, 重新開機找不到開機磁區, 後來上網看看文件後, 清掉磁區用XP安裝片來重新切割, 安裝成FAT32, 依舊是不行, 搞到12點決定放棄
VMware Fusion
後來仔細想想...我現在也很少在MB上打魔獸了, 要也會到四樓去打, 當初是因為這個原因才這麼做的(突然想到...我還沒處理研究室的無線Projector~~~看來要跟別人借NB了~~~), 所以直接用VMware直接安裝一個, 目前進度Office安裝好, 其他的等有空閒再來處理~~~
安裝後感覺:
1. 的確工作列的透明感有點玩過頭了, 可以採用阿西摩的解決方案, 等明天有空再來處理(備註:阿西摩的解決方案在這裡沒有效!!!)
2. Spaces是個好東西, 雖然以前在Linux就用過, 但是配合一些熱鍵, 的確有他人性化改善的地方...
3. Time Machine感覺也不錯, 但是目前不太敢用~~~先暫緩...
軟體更新紀錄
1. 香草輸入法更新到0.8.0.3, 好像解決了在一些軟體上不能執行的問題
2. 把之前沒在用, 但是安裝的Xcode升級, 最新版是Xcode 3.0, 但是依舊不會用, 看來還是得用VMware Fusion的Linux
3. 升級舊版的Currency Convert成v0.7, 之前版本似乎在豹子上會水土不服, 重新安裝新版即可~~~
標籤: OS::Mac OS X
這一晚是住在Hilton飯店的, 我個人是覺得很漂亮了啦, 不過聽說還不是當地最棒的, 因為他已經蓋好七八年了...早上醒來先來去吃一頓飯店提供的早餐...味道如何已經不復記憶了~~~反正就是歐式自助餐囉...吃到飽吃到爽吃到吐~~~適合量大的人~~~
這個行程有送個Hilton Lulu SPA, 所以吃飽後散步走去Lulu SPA的場所, 享受免費的SPA, 沿著飯店外圍走著走著, 飯店的景緻很有南國風味, 大片蕉葉遍佈, 微風吹來, 到處都有以花瓣為裝飾的水盆等等...另外, 看來因為日本遊客眾多的關係, 所以也有部份地方是以日式風格為主...
Lulu SPA, 名字我不曉得是因何而起的, 進去後有兩張躺椅, 當地人的按摩師父, 要我們換上他們準備的衣物, 趴在按摩床上, 接著會在身上塗抹一些磨砂膏之類的東西, 先幫你去角質, 接著按摩之類的, 等完成按摩之後有個沖澡的地方讓你沖掉身上塗抹的東西, 接著旁邊這個佈滿花瓣的浴池還可以讓你泡一下澡, 享受一下貴妃泡澡的感覺...至於泡起來的感覺...ㄟ...就像在家泡澡一樣...
房間內裝飾的懶人亭
後續撰寫中~~~
要從老虎(Tiger, 10.4)升級成豹子(Leopard, 10.5), 沒有多想想總是不成的, 看看微軟的Vista, 有多少人升級後又重新灌回XP...要耍熱血也要看看場合, 這台可是我的工作機, 還是來多弄顆硬碟備份保險一點~~~
採購清單:
1. Leopard OS學生價 $3,990
2. 160G 2.5" SATA + 外接盒 我猜應該可以壓在$3,500吧
更新步驟:
1. 添購硬碟, 請店家將新硬碟放在MB內, 把目前硬碟放在外接盒(還沒搬移完成前, 可以先用外接硬碟開機)
2. 將Leopard裝在新硬碟內
3. Bootcamp切割安裝XP
4. 把個人資料從外接硬碟搬回MB內~~~
備註:
1. 安裝Leopard時, 記得安裝X11, 到時候應該可以加裝MacPort, 搞不好可以不用VMware + Linux
2. 安裝XCode
標籤: OS::Mac OS X