Time of Update: 2018-12-04
網上搜的代碼確實能實現最小化到托盤,但關閉程式時,托盤表徵圖還在,原因是沒刪除表徵圖,需螢幕刷屏才消失!其實刪除挺簡單的,處理一下關閉視窗訊息,使用NIM_DELETE就行了,具體看代碼... 一,自訂一個訊息WM_SHOWTASK,並關聯訊息映射函數OnShowTask() #define WM_SHOWTASK (WM_USER + 1) ON_MESSAGE(WM_SHOWTASK,OnShowTask) LRESULT
Time of Update: 2018-12-04
最近看到這一節,關於如下段落說明十分不理解:“在睡眠期間如果產生了退出訊號,那麼此時該訊號是未決的,但是不再受阻塞,所以在 s i g p r o c m a s k返回之前,它被遞送到本進程。從程式的輸出中可以看到這一點: S I G Q U I T處理 程式(s i g _ q u i t)中的p r i n t f語句先執行,然後再執行s i g p r o c m a s k之後的p r i n t
Time of Update: 2018-12-04
Fedora core 5的smbclient 的RPM中已經沒有了smbmount這支程式了。事實上,smbmout就等於mount -t smbfs。所以沒有了也無所謂,只是在FC5 kernel 中也沒有將smbfs的support加入。所以,當打入%mount -t smbfs -o username=xxx.password=xxx //hostname/dir /mnt/dirmount: unknown filesystem type 'smbfs就會出現上面的這行訊息
Time of Update: 2018-12-04
寫過多線程程式的人都知道,不能讓多個線程同時訪問共用的資源是至關重要的。假如一個線程試圖改變共用資料的值,而另外一個線程試圖去讀取該共用資料的值,結果將是未定義的。為了阻止這樣的事情發生,需要用到一些非凡的未經處理資料類型和操作。其中最重的一個就是總所周知的mutex(“mutual
Time of Update: 2018-12-04
I'm pleased to announce a new video API for Unix and Unix-like platforms, and a technology preview implementation of this API from NVIDIA.The API is called VDPAU (Video Decode and Presentation API for Unix). It provides a large subset of PureVideo
Time of Update: 2018-12-04
解決方案:右擊我的電腦——進階——環境變數——在系統變數裡有path選項——雙擊開啟。在原先的系統內容變數path=d:\MentorGraphics\9.2PADS\SDD_HOME\common\win32\bin;d:\MentorGraphics\9.2PADS\SDD_HOME\common\win32\lib; %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
Time of Update: 2018-12-04
一、概念和區別 在windows系統中,每個視窗對象都對應有一個資料結構,形成一個list鏈表。系統的視窗管理器通過這個list來擷取視窗資訊和管理每個視窗。這個資料結構中有四個資料用來構建list,即child、sibling、parent、owner四個域。所以我們可以看到,視窗之間的關係有兩種:owner-owned 關係和
Time of Update: 2018-12-04
Ubuntu 9.10 下,首先安裝ffmpegapt-get install ffmpeg 然後,修改設定檔 vi /etc/ffserver.confPort 8090BindAddress 0.0.0.0MaxHTTPConnections 2000MaxClients 1000MaxBandwidth 1000<Feed feed1.ffm>File /tmp/feed1.ffmFileMaxSize 2MACL allow
Time of Update: 2018-12-04
boa的功能比較齊全, 便對嵌入式應用很多功能就是冗餘(如virtual host), 記憶體使用量量較大些.thttpd 功能較少, 實現簡單. 記憶體使用量量較少. 同時比較方便擴充.shttpd 功能功能算是比較全的, 但在處理位元據時不夠穩定, 時有異常. 有待觀察.light-httpd, apache 屬重量級伺服器, 成熟穩定, 體積較大, 在複雜的嵌入式應用上可選用.goAhead 是個比較專用的 webserver, 大部分功能都在服務它自己提供的 goform 功能和
Time of Update: 2018-12-04
http://www.cnblogs.com/ggjucheng/archive/2012/02/03/2337046.html什麼是糊塗視窗綜合症當發送端應用進程產生資料很慢、或接收端應用進程處理接收緩衝區資料很慢,或二者兼而有之;就會使應用進程間傳送的報文段很小,特別是有效載荷很小。 極端情況下,有效載荷可能只有1個位元組;而傳輸開銷有40位元組(20位元組的IP頭+20位元組的TCP頭)
Time of Update: 2018-12-04
http://hi.baidu.com/%CE%A2%D0%A6%C0%E1%CB%AE/blog/item/84fd8e3d93944350241f14cc.html 有的觀點認為,應該用POST來建立一個資源,用PUT來更新一個資源;有的觀點認為,應該用PUT來建立一個資源,用POST來更新一個資源;還有的觀點認為可以用PUT和POST中任何一個來做建立或者更新一個資源。這些觀點都只看到了風格,爭論起來也只是爭論哪種風格更好,其實,用PUT還是POST,不是看這是建立還是更新資源的動作,這
Time of Update: 2018-12-04
在工程中加sqlite3原始碼,調用第一個函數sqlite3_open,發現其不支援中文路徑。經過檢索發現該函數要求輸入的檔案名稱為utf8編碼。//再sqlite3.c中 winFullPathname、sqlite3_win32_mbcs_to_utf8、mbcsToUnicode、unicodeToUtf8與此事相關。//參考以上4個函數,做的一個編碼轉換函式CString CMyApp::MbcsToUtf8(const char *file){ CString str;
Time of Update: 2018-12-04
1、邏輯Bank與晶片位寬講完SDRAM的外在形式,就該深入瞭解SDRAM的內部結構了。這裡主要的概念就是邏輯Bank。簡單地說,SDRAM的內部是一個存放裝置陣列。因為如果是管道式儲存(就如排隊買票),就很難做到隨機訪問了。陣列就如同表格一樣,將資料“填”進去,你可以把它想象成一張表格。和表格的檢索原理一樣,先指定一個行(Row),再指定一個列(Column),我們就可以準確地找到所需要的儲存格,這就是記憶體晶片定址的基本原理。對於記憶體,這個儲存格可稱為儲存單元,那麼這個表格(存放裝置陣列)
Time of Update: 2018-12-04
採用TCP串連的C/S模式軟體,串連的雙方在串連空閑狀態時,如果任意一方意外崩潰、當機、網線斷開或路由器故障,另一方無法得知TCP串連已經失效,除非繼續在此串連上發送資料導致錯誤返回。很多時候,這不是我們需要的。我們希望伺服器端和用戶端都能及時有效地檢測到串連失效,然後優雅地完成一些清理工作並把錯誤報表給使用者。如何及時有效地檢測到一方的非正常斷開,一直有兩種技術可以運用。一種是由TCP協議層實現的Keepalive,另一種是由應用程式層自己實現的心跳包。TCP預設並不開啟Keepalive功能
Time of Update: 2018-12-04
http://bbs.ednchina.com/BLOG_ARTICLE_151601.HTM阻塞式I/O編程有兩個特點: 一、如果一個發現I\O有輸入,讀取的過程中,另外一個也有了輸入,這時候不會產生任何反應,也就是需要你的程式語句去select的時候才知道有資料輸入。 二、程式去select的時候,如果沒有資料輸入,程式會一直等待,直到有資料位元置,也就是程式中無需迴圈和sleep。 Select在Socket編程中還是比較重要的,可是對於初學Socket的人來說都不太愛用Select寫程式
Time of Update: 2018-12-04
http://blog.sina.com.cn/s/blog_67b6b720010114d3.htmlerase()函數的功能是用來刪除容器中的元素刪除某個容器裡的某個元素:c.erase(T);看似一個簡單的動作,然而對不同類型的容器,內部卻做了截然不同的事情,後面介紹。假設有這樣一個題目,將某個容器中所有滿足條件N == X的元素刪除,按照常規的思路應該有類似這樣的代碼:// 假設Container和container分別表示一種容器和對應的一個對象Container<T>::
Time of Update: 2018-12-04
如果想建立一個完全使用CUDA的程式,那麼下載http://sourceforge.net/projects/cudavswizard/這個就可以了,但是很多時候對於大型工程,主要還是以c或者cpp代碼為主,只是在需要效能最佳化的地方使用CUDA代碼,這個時候需要一點點小知識來實現CUDA和VC8的混合編譯.步驟如下: 1) 在你的VC8工程下面添加規則檔案. 在工程檔案上右鍵選擇 -> 自訂建置規則 -> 尋找現有的 -> $(NVIDIA CUDA SDK)
Time of Update: 2018-12-04
關於在結構體末尾定義空數組的用法,以前看到過,一直沒搞懂,在無意中瞄到了答案,實在是三生有幸,阿米多佛啊所以就貼出來大家一起分享:struct ast_exten { char *exten; /* Extension name */ int matchcid; /* Match caller id ? */ char *cidmatch; /* Caller id to match for this extension */ int priority; /* Priority
Time of Update: 2018-12-04
Time of Update: 2018-12-04
OpenCL馬上就要發布了, 根據nvidia的官方文檔,對OpenCL和CUDA的異同做比較: 指標遍曆OpenCL不支援CUDA那樣的指標遍曆方式, 你只能用下標方式間接實現指標遍曆. 例子代碼如下:// CUDAstruct Node { Node* next; }n = n->next; // OpenCLstruct Node { unsigned int next; }n = bufBase + n;Kernel