梓瀚兄,我也很是喜歡VS2012,改進地方很多,比如所有開發人員常用的符號查找,在2012中非常的給力!
不過前一陣子在公司相關項目從2008遷移到2012的過程中,也發現了2012的一些bug和問題。。。
總體來說,瑕不掩瑜,推薦大家把各自的工程在可能的情況下遷移到2012!
我目前也在使用HG作為自己的代碼管理工具,特點是便捷、易用,對于個人或者小規模團隊開發而言功能足夠;
@空明流轉
是這樣,在MFC出現之前,純Win32 API的時代,extra byte是最便捷的對窗口自定義數據的存儲方法;.net framework的設計者很有可能參考了這種設計思路,所以在UI界面的components上也帶有可攜帶自定義數據的tag field;
引申出去,常見很多人問,“某某技術要學嗎”“某某庫、框架要摸索一下嗎”,真要把某個技術、庫等等研究透了,就常常會發現有許多設計思路和方法是相似的。
re: 進程間通信:管道 flagman 2011-03-01 17:24
在fork子進程之后,子進程似乎不會執行下面的這個分支段;
else
{
//子進程接收數據
close(fd[1]);
int n = read(fd[0],line,MAXLINE);
line[n] = 0;
cout<<"read message:"<<line<<endl;
}
雖然fork()只是執行了建立一個新的task_struct的操作,上面這代碼在同步上是不是有些問題?
Boost的關于圖論的Graph庫里,就有基于bellmanford的實現,而且是可配置的。
re: 關于COM和.net的思考 flagman 2010-12-19 19:29
@小笨象
您可能理解錯了,不同的語言和平臺各有各的優缺點,也各有各的用處,要具體情況具體分析;
re: 10年編程之路(2010年度總結) flagman 2010-12-19 10:52
看來QBasic對為數眾多的人影響很大,屬于平時用得極少但絕對是啟蒙好材料的那類;這QBasic在一本構建基于.net平臺的compiler的書《Build your own .net language and compiler》里是作為目標語言來搭建對其的前端parser以及后端的code generation(.net的CLR環境里生成的是MSIL),不過這書對于實用級/工業級compiler極為重要的一個議題:優化,基本沒涉及。
我的父親因為冠心病,在十月底突然去世...
這位朋友,此時此刻我完全理解你的心情和感受。
一定要堅強,頑強的生活下去,取得成績就是對他們最好的紀念。
有空就多陪陪你父親吧。
re: 左偏樹詳解 ( 轉載 ) flagman 2010-12-07 15:24
這里的左偏樹,不知為何特意稱為樹,而不是堆(雖然也都是二叉樹),很多其他資料將其名為左式堆(Leftist heap),作為優先隊列的一種實現在實際中運用似乎并不多,到是二項堆和Fibonacci堆在實際中可能更為常見。
re: 卓有成效的程序員 flagman 2010-12-03 02:05
使用C++ template metaprogramming,不就可以定義DSL嗎?
只是這樣的實現,目前的問題是還沒有辦法保證定義出的DSL是type-safe的。
說兩點,
1)這三維樹狀數組,占空間比較大,特別是問題規模快速增長時;
2)對于
void setLow () {
for ( i = 1; i <= MAXN; ++ i ) low[i] = i & (- i);
}
這樣的短函數,topcoder上很多人都喜歡用宏定義,不知道為啥,難道受C的影響太深了,抑或為了節約函數調用開銷?呵呵,比如上面這函數,可能寫成如下,
#define SETLOW(low,MAXN) for( i = 1; i <= (MAXN); ++i) *((low) + i) = i & (-i);
re: Splay Tree 介紹 flagman 2010-12-03 01:44
splay tree到是KISS原則在數據結構設計中很好的體現。
其實Rob Pike在Notes on c programming中明確提出過,算法和數據結構的設計的首要原則是盡量保持簡單,在他看來數組、鏈表、哈希表、二叉樹足以提供大多數的應用的設計需求。而splay tree就是基于二叉樹的簡單改進,相比較紅黑樹復雜實現,而且攤還分析后的結果也不錯。
聞道有先后,術業有專攻;
還是那句話,走自己的路,讓別人去說吧。