Time of Update: 2018-12-07
在實際的開發過程中,我們的項目或產品通常都會用到一些第三方開源組件或商業組件,以協助開發人員實現一些特定的通用功能,如xml解析,Regex解析和資料壓縮等。一般而言,只有在這兩者均無法滿足現有需求的情況下,我們才會考慮自行研發。因為適當的應用第三方組件可以保證開發人員能夠將更多的精力投入到產品的核心演算法和核心商務邏輯上,從而確保產品的開發週期和產品品質均能達到客戶與公司滿意的程度。
Time of Update: 2018-12-07
Lua是一種嵌入式指令碼語言,即Lua不是可以單獨啟動並執行程式,在實際應用中,主要存在兩種應用形式。第一種形式是,C/C++作為主程式,調用Lua代碼,此時可以將Lua看做“可擴充的語言”,我們將這種應用稱為“應用程式代碼”。第二種形式是Lua具有控制權,而C/C++代碼則作為Lua的“庫代碼”。在這兩種形式中,都是通過Lua提供的C API完成兩種語言之間的通訊的。 1. 基礎知識: C
Time of Update: 2018-12-07
hive.exec.parallel參數控制在同一個sql中的不同的job是否可以同時運行,預設為false.下面是對於該參數的測試過程:測試sql:select r1.afrom ( select t.a from sunwg_10 t join sunwg_10000000 s on t.a=s.b) r1 join (select s.b from sunwg_100000 t join sunwg_10 s on t.a=s.b) r2 on (r1.a=r2.b)
Time of Update: 2018-12-07
通過上次的第一個簡單的C++/CLI執行個體,我們已經對C++/CLI的基本文法有了一定的認識,一些新的關鍵字也混了個眼熟。其實如果你有ISOC++背景,瞭解一些.NET相關概念,且使用VS2008
Time of Update: 2018-12-07
本文摘自人民郵電出版社出版的《Windows Forms程式設計》(Chris Sells著,榮耀、蔣賢哲譯)。 通過一個栩栩如生的虛構故事解釋了C#/.NET中委託和事件的機制和應用。 1 委託 從前,在南方的一個異國他鄉,有一個叫Peter的勤勞的工人,他對老闆(boss)百依百順,然而他的boss卻是個卑鄙多疑的傢伙,他堅持要求Peter不斷彙報工作進展。由於Peter不希望被boss盯著幹活,於是他向boss承諾隨時彙報工作進度。Peter通過如下所示的類型化的引用(typed
Time of Update: 2018-12-07
最近寫個小東西,遇到模板的一個報錯,挺有意思的,錯誤碼如下 1 #include<iostream> 2 #include<set> 3 using namespace std; 4 5 template <class T> 6 void Set2Str(set<T> inset) 7 { 8 //typename T::iterator itset; 9 set<T>::iterator itset;10 }11 1
Time of Update: 2018-12-07
文章目錄 The problemThe solution http://martinbroadhurst.com/Consistent-Hash-Ring.htmlConsistent Hash RingIntroductionConsistent hashing was first described in a paper, Consistent hashing and random trees: Distributed caching
Time of Update: 2018-12-07
http://hi.baidu.com/diablomt/blog/item/df45828ff343a419b31bbaed.htmlhttp://hujw0710.blog.163.com/blog/static/8797282200852841732308/ http://hi.baidu.com/guoangang123/blog/item/0e0b483ead07363370cf6c5e.htmlhttp://hi.baidu.com/17cpp/blog/item/a46bfd13a
Time of Update: 2018-12-07
普通重載函數可以通過函數參數進行推演,並由編譯器選定最適合的重載函數作為候選函數。與此類似,模板函數可以通過函數參數的類型推演出該函數模參的實際類型。C++的編譯器在完成類型推演的過程中有以下一些技巧和注意事項,這裡我們將儘可能的列出最為常用的規則,並給出相應的樣本以便於理解。 1. 最基本的模板函數類型推演。見以下程式碼範例、關鍵性注釋和輸出結果。 1 #include <stdio.h> 2 #include <typeinfo.h> 3
Time of Update: 2018-12-07
前言JSON是一個輕量級的資料定義格式,比起XML易學易用,而擴充功能不比XML差多少,用之進行資料交換是一個很好的選擇JSON的全稱為:JavaScript Object Notation ,顧名思義,JSON是用於標記javascript對象的,詳情參考http://www.json.org/。本文選擇第三方庫JsonCpp來解析json,JsonCpp是比較出名的c++解析庫,在json官網也是首推的。JsonCpp簡介JsonCpp主要包含三種類型的class:Value Reader
Time of Update: 2018-12-07
上次我們看了什麼是C++/CLI,我們知道C++/CLI其實是包含了三部分:ISOC++,對CLI的.NET實現的擴充和前二者的無縫串連。本次繼續上次,更近一層解釋讀者關心的三個問題:第一,使用C++/CLI我們可以做什麼,它可以被使用在那些方面;第二,那些朋友需要學習C++/CLI;第三,學習C++/CLI需要哪些基礎。1)使用C++/CLI我們可以做什嗎?對於C++/CLI可以做什嗎?我們可以簡單的從它所包含的三部分內容來解釋,第一,ISOC++是C++/CLI對CLI擴充的基礎,C++/C
Time of Update: 2018-12-07
本次講解一些基本的概念,中英文的對照:1) Dynamic Link Library動態連結程式庫/Assembly程式集 : Dynamic Link Library動態連結程式庫,我們在ISOC++中知道,尾碼為.DLL的檔案為動態連結程式庫,動態連結程式庫實現了代碼的組建級重用,但是當在CLI擴充後,與之對應的託管組建,我們稱為Assembly程式集。程式集是 .NET Framework
Time of Update: 2018-12-07
據說明天樣片就寄來了,可是我的pc端串口還未做,以為很難,就拖著,看了http://www.cnblogs.com/tuyile006/archive/2008/10/06/514300.html之後更是一頭霧水今天下狠心,沒想到不到兩小時就解決了,做個教程方便大家。使用serialport類,C#內建的第一個例子參見http://book.csdn.net/bookfiles/499/10049917236.shtml首先是在一台pc同一個串口上實現資料收發。那麼需要把TX和RX短接。我等軟體
Time of Update: 2018-12-07
下面重點說明物件導向的三個特徵.繼承,封裝和多態.C#是一種現代的物件導向的語言.繼承(inheritance):繼承是一個物件導向的詞語.說明,一個類(衍生類別)能分享,其它類(基類)的特徵和行為.派生類和基類是"is a"的關係.base classes(基類):通常基類可以自己執行個體化,或被繼承.衍生類別繼承基類中的成員,被標記為protected或更大的許可權.文法: class (derive class name):(base class name)例子://基類public
Time of Update: 2018-12-07
c#之process類相關整理一、根據進程名擷取進程的使用者名稱?需要添加對 System.Management.dll 的引用using System.Diagnostics;using System.Management;static void Main(string[] args){foreach (Process p in Process.GetProcesses()){Console.Write(p.ProcessName);Console.Write("----");Console.
Time of Update: 2018-12-07
很多newbie接觸WM,都會有找不到資源(尤其是圖片,檔案之類)的經曆.這邊想把這個簡單的知識介紹一下:1. WM源自WinCE,檔案系統裡面只有根目錄\和相對於根目錄的全路徑比如\Program Files\A\B.txt 所以在讀取檔案,或者其他資源的時候,首先要搞清楚你的路徑,下來才是這個資源到底有沒有的問題.2. .NET CF項目中,把資源部署到相應模擬器或者裝置中還是比較簡單的. 具體操作就是:添加資源到你的項目(或者乾脆Ctr-V進來),然後在你的資源上面點擊右鍵-&
Time of Update: 2018-12-07
在程式開發中,未免需要使用到時間差比較。最簡單的時間比較方法是分別取出目前時間進行相減得出時間差。取出目前時間可以使用GetLocalTime()函數來取出。可是在Windows Mobile和Wince(Windows Embedded CE)平台,使用GetLocalTime()函數取出的SYSTEMTIME是不包含微秒的。解決辦法是使用GetTickCount()函數,先看下面的代碼。int _tmain(int argc, _TCHAR* argv[]){ SYSTEMTIME
Time of Update: 2018-12-07
我實現的網路程式庫中使用了C++11中的shared_ptr. 昨天做profile,發現很多CPU都消耗在shared_ptr上,所以打算看看shared_ptr的效率如何. 實驗是這樣的,弄一個臨時的shared_ptr,然後不停的拷貝,拷貝100W次,看消耗多長時間.實驗對象是gcc 4.6.2和clang 3.1(libc++).最後輸出各自消耗的時間,編譯選項,O0和O2. 上代碼:#include <thread>#include
Time of Update: 2018-12-07
C++11帶來諸多特性,random就是其一.1. random_device 標準庫提供了一個非確定性隨機數產生裝置.在Linux的實現中,是讀取/dev/urandom裝置;Windows的實現居然是用rand_s,在這裡強烈譴責一下. random_device提供()操作符,用來返回一個min()到max()之間的一個數字.如果是Linux(Unix Like或者Unix)下,都可以使用這個來產生高品質的隨機數,可以理解為真隨機數.#include <iostream>#
Time of Update: 2018-12-07
今天整理以前一個項目源碼,發現兩個隨機產生不重複字串的方法,覺得用起來挺方便的,在此貼出來,方便以後查閱。 方法一:隨機產生不重複數字字串 private int rep=0; /// <summary> /// 產生隨機數字字串 /// </summary> /// <param name="codeCount">待產生的位元</param> ///