Time of Update: 2018-12-04
在用C++編寫coroutine基礎類的時候,需要參數的傳遞。而基礎類對參數類型一無所知,畢竟參數是與應用相關的。此時,boost::any就派上用場了。編寫此類的時候並沒有參考boost::any代碼(因此功能肯定不如boost::any完善嚴謹),寫完後做了一下參考,將命名向boost看齊1. 先思考一下Any的用法:Any obj;obj = 5;cout << any_cast<int>(obj) << endl;obj =
Time of Update: 2018-12-04
/** * 全選的所有指定名稱的checkbox *@state 全選的checkbox的狀態 *@name 表格中的所有checkbox的名稱 *@author fangtf *@type void */ function selectAll(state,name) {
Time of Update: 2018-12-04
Win32 Application和Win32 Console Application 都是工作在32位Windows環境的程式。 其中Win32 Application 就是普通的常見的視窗應用程式,當然有的介面做得比較個人化,比如圓形的、不規則形狀的…… 它們都是所謂的GUI(Graphics User Interface圖形使用者介面),我們可以通過滑鼠點擊來完成控制。Win32
Time of Update: 2018-12-04
靜態壓面間資料的傳遞方法很多,目前經搜尋得到主要以下幾種方法。但是靜態頁面間資料傳遞用處應該不會很多,在開發工作單位的前期由於需要做UI Mockup 給使用者體驗,簡單的資料傳遞還是會用到,如有更好的方法請跟帖補充,不甚感激。此貼完善中。註:1.escape()及unescape()方法已淘汰,使用encodeURI() 和 decodeURI()對加入URL的參數進行編碼;2.很好的參考資料,《JavaScript 權威指南》(download from here),可以下載到英文版第六版,
Time of Update: 2018-12-04
1.在官網還是哪兒,我看到了一句關於代碼中雜湊表的注釋:具體記不清楚了,大概有個單詞是coarse,意識是說,該雜湊表的鎖粒度實在是太粗了,以後再細化。 確實,非常粗,多個背景工作執行緒對它的互斥競爭比較強烈,到處都是對cache_lock的上鎖解鎖。 2.解決方案:首先,想把雜湊表拆成多個小表,怎麼拆呢?嗯,看一下背景工作執行緒;之前說過,背景工作執行緒將IO與邏輯糅合在了一起。嘗試剝離它們把。 我的設計方案如下: 主線程:
Time of Update: 2018-12-04
引言: 與java等眾多支援GC的現代語言不同,C/C++將更多的記憶體控制權交給程式員,在保證效率的同時,也給了很多犯錯的機會。常見的記憶體泄露、重複釋放等等。智能指標大大減少了犯錯的機會,簡化代碼,提高可維護性。常用的智能指標有scope_ptr(c++
Time of Update: 2018-12-04
最近對以前寫的tcp網路程式庫做輸送量測試,gcc O1編譯,運行效果很好,可以達到900MiB/s。但是問題來了,當我用gcc O2選項編譯網路程式庫,程式一啟動就core掉。查看coredump檔案,原因大概如下:掛在g_pool.DoSomething();但是在DoSomething()裡, this != &g_pool;非常詭異。我對自己的程式還是很有信心,不會有stack或者heap溢出錯亂:不使用靜態數組,只用容器;只new但不delete,資源交給 UniquePtr
Time of Update: 2018-12-04
(2012.05.19補充:儘管-rdynamic選項使得可讀性大大提高,但仍然不太好根據二進位地址定位到某行泄露代碼;這時使用objdump -S exefile 即可)在WINDOWS下檢測記憶體泄露比較容易,畢竟MSDN強大,方法多多;有興趣可以查看VLD原始碼; 前幾天無意中從MAN文檔中查到linux可以給malloc掛鈎子;於是寫下了如下檢測記憶體泄露的代碼;已存在的程式碼只需要與linux_vld.o檔案一起編譯連結即可,退出時會列印記憶體泄露狀態;對於下面檔案,g++
Time of Update: 2018-12-04
1.memcached參數解讀 "p:" /* TCP port number to listen on */ 這是監聽通訊端所綁定的連接埠號碼,對應的變數是settings.port; "U:" /* UDP port number to listen on */ UDP套介面所綁定的連接埠號碼,對應的變數是settings.udpport; 進程會建立兩種類型的通訊端用於服務。其實還有UNIX域SOCKET,本文忽略之。 "m:" /* max memory to
Time of Update: 2018-12-04
讓我們看下這段程式:很簡單的一個重載;如我所願,程式正常運行結果如下:void func(int)void func(T) [with T = Test]現在,取消最後一行的注釋,再次編譯。。。出現了如下編譯錯誤:test0.cc: In function ‘void func(T) [with T = short int]’:test0.cc:28: instantiated from heretest0.cc:12: error: ‘short int’ is not a class,
Time of Update: 2018-12-04
程式1:#include <iostream>#include <string>int main(){ const std::string hello="hello"; const std::string message =hello+",world"+"!"; std::cout<<message<<std::endl;}程式2:#include <iostream>#include <string>int main(){
Time of Update: 2018-12-04
1
Time of Update: 2018-12-04
csdn的blog系統的連結分類有兩種,一種是系統定義的,如導“導航”,還有一種是自訂的,如本blog的“友情連結”、“常用連結”等。系統定義的連結分類排在自訂分類的上面,而對於自訂的分類則按拼音排序,拼音序總是不能令人滿意的。偶發現分類名中多餘的空格是不顯示的,於是想到用空格來實現排序。字串的比較規則是從左邊第一個字元開始比較,直到找到不相等的字元為止,其中含有較大字元的字串較大,固“ 友情連結”比“ 我的其他網站”小,這就用空格的多少實現排序了。
Time of Update: 2018-12-04
Visual
Time of Update: 2018-12-04
1.jQuery對象和DOM對象的區別;jQuery對象是一組數組,可以對jQuery對象調用jQuery庫的方法而DOM對象則只能調用標準的JavaScript方法;二者可以互相轉化:var $cr = $("#cr"); //jQuery 對象var cr = $cr[0]; //[index]方法獲得DOM對象,或者get(index)方法 $cr.get(0)alert(cr.checked); //檢測checkbox是否被選中,調用了DOM對象的方法var cr =
Time of Update: 2018-12-04
特別說明:由於大家在 I/O 存取上以 txt 檔案為主,且讀取比儲存更麻煩(儲存的話 fwrite, fprintf基本夠用),因此下面的討論主要集中在“txt
Time of Update: 2018-12-04
昨天終於解決了...1.背景:提供音視頻服務的業務隨著使用者量的上漲,UDP丟包逐漸加劇。其實包量也不大,高峰期每秒不超過10W的UDP包,不應該丟包的。而前輩們的網路底層代碼是單線程的,因此決定將網路線程獨立出來,以提高效率。2.多線程策略 學過作業系統的應該知道,生產者和消費者的例子。只需要知道1:1的例子即可,這種情形下,可以使用無鎖環形緩衝區,避免了mutex的代價(儘管事實上mutex的代價並不大)。 對於每一個socket,從邏輯線程角度看(也就是你寫的那個運行main的線程),
Time of Update: 2018-12-04
三.具體例子分析:Matlab網站用兩個例子非常詳盡地介紹了各個命令的基本用法,實際中,面對手頭上的資料,如何選用合適的命令呢?以下結合幾個樣本給出一些總結,大家舉一反三就可以了:1. 純資料(列數相同):源檔案: CODE:0 3866.162 2198.938 141.1401 3741.139 2208.475 141.25223866.200 2198.936 141.1563 3678.048 2199.191 141.2304 3685.453 2213.726141.2615 37
Time of Update: 2018-12-04
上次借了兩本java的教程,本以為至少可以看完一本的,沒有想到大概只看了四分之一,只怪自己太懶了,後來的幾天就根本沒有翻過。書今天終於到期了,也好還回去,反正放著也是不看的。吃過晚飯,我特地跑了一趟圖書館。過去的時候下了一點雨,不是很大,但我想走走,感受一下雨中漫步的感覺,順便看看路上的行人,於是就沒有騎車。一路上,見到一對對情侶的,沒有什麼感覺,像我這樣隻身一人走路還是很多的。但是在回來的路上就不舒服,忽然覺得自己是那麼的寂寞,過去是沒有這樣的感覺的,或是這樣的感覺非常的輕微,但這時的感覺是那
Time of Update: 2018-12-04
枚 舉(enum)枚舉是一個被命名的整型常數的集合, 枚舉在日常生活中很常見。例如表示星期的SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY,SATURDAY, 就是一個枚舉。枚舉的說明與結構和聯合相似, 其形式為:enum 枚舉名{標識符[=整型常數],標識符[=整型常數],...標識符[=整型常數],} 枚舉變數;如果枚舉沒有初始化, 即省掉"=整型常數"時, 則從第一個標識符開始, 順次賦給標識符0, 1, 2,