(2.4) Whenever RTO is computed, if it is less than 1 second then the RTO SHOULD be rounded up to 1 second.
(2.5) A maximum value MAY be placed on RTO provided it is at least 60 seconds.
NS-2上的TCP RTO指數倒退機制
三支小程式
幫朋友寫的作業,題目不刁鑽,強調趣味性,但若要找出複雜度低的演算法,其實很具挑戰,我那時候接近期中考,時間不多,就每個都厚顏地暴力解了。聽說後來讓助教測試程式的時候,其中一題的進階測試數據跑了十分鐘還沒跑出結果,囧在當下,哈哈。
以下便列這幾個程式題目和我的跛腳實作。
[轉貼]前置處理器的預設變數
存放一些編譯時的訊息,挺有意思的。
轉貼自 http://taichunmin.pixnet.net/blog/post/32540994
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
#include <iostream> using namespace std; int main() { cout << __LINE__ << endl; // 這一行的行號 cout << __FILE__ << endl; // 原始檔的檔名 cout << __DATE__ << endl; // 編譯時的日期 cout << __TIME__ << endl; // 編譯時的時間 cout << __cplusplus << endl; // 可以使用C++函式 cout << __STDC__ << endl; // 可以使用C函式 cout << __func__ << endl; // 顯示現在所在的函式 cout << __FUNCTION__ << endl; // 顯示現在所在的函式 cout << __PRETTY_FUNCTION__ << endl; // 顯示現在所在的函式宣告 return 0; }
GTK+ && Glade2.6簡易實作
本來Glade2.12用得順手,但換電腦後想下載來用,卻在網路上遍尋不著,而Glade3又只提供介面而沒有幫忙輸出制式程式碼,不太方便。所以又繼續埋頭找,但最終也只找到Glade2.6版的安裝檔,不甚滿意,但還能接受。
製作Qt Runtime安裝檔
官方沒有提供Qt runtime,或許是因為Qt每個版本的dll檔都略有差異,使用上一個版本的dll檔,可能會讓程式產生部分錯誤,所以才乾脆讓開發者自己想辦法。
在未安裝Qt開發環境的電腦中執行Qt程式其實不難,辦法有三個:
Qt習作之簡易圖像瀏覽器 v0.1
應該算是上一篇顯示圖片練習的延伸,透過這次實作,更進一步了解Qt的事件處理方式。不像GTK+每個事件只能傳遞一個指標,Qt可以透過Class的data member來傳遞資料,要多少有多少,而不用像GTK+總要費勁把全部要傳的資料都塞在一個struct裏,再迂迴地套指標來使用。
Qt習作之圖片顯示
照例,練習GUI Framework都先從顯示圖片開始著手。
稍微碰了一下Qt,感覺上很多細節都很人性化,譬如說不用指定window,一個label或一個pushButton都可以自己形成視窗,所以一個最簡單的Hello World可以只有短短四行程式碼,的確正如廣告說的,需要輸入的程式碼變少了。
所編繹出來的檔案大小也夠精練,小程式都可控制在100k以內,與GTK+相比不遑多讓,執行速度更比GTK+快上許多,兼具精簡與效能,難怪會成為目前GUI Framework中的大熱門,名氣得來一點都不僥倖。
目前對Qt的印象非常良好,以後就專門拿它來練習C++。
若真的要挑剔,那大概只能說Qt的Signal/Slot機制並沒有那麼直覺,其中Signal的程式碼還需要qmake生成才能順利編譯。相比於GTK+簡單明瞭的callback函式,實在複雜許多。當然這只是一時的感想,之後若更進一步認識,或許就會改變看法了。
這支小程式實作過程中,參考了Qt4學習筆記其中的幾個範例程式,真的得說,這個教學網站對我幫助很大,若沒有它,恐怕沒辦法這個快理出頭緒來,感謝哪。