原创 sigsetjmp()與siglongjmp()
使用sigsetjmp()與siglongjmp() int sigsetjmp(sigjmp_buf env, int savesigs); void siglongjmp(sigjmp_buf env, int val);
原创 C字符串 與 uint32類型互相轉換
字符串轉換爲 unsigned int 類型 /*將傳入的字符串轉換爲無符號的的32位整形 *@param: str : 傳入的字符串 *retval: The converted value. */ static uns
原创 USB協議及認知
1.USB的拓撲結構決定了主機控制器就是最高統帥,沒有主機控制器的要求設備永遠不能主動發數據。所以主機控制器在USB 的世界裏扮演着重要的角色,它是幕
原创 GoLang 類型轉換和類型斷言
Go語言中的強制類型轉換 與 C語言的區別是: char b = 9; int a = (int)b; _注意:此處括號中爲將強制轉換的類型_ ; var Byte b = 9 var uint a = int(b) _
原创 Go panic, defer, recover 的異常處理
本內容爲部分轉載 : http://www.cnblogs.com/ghj1976/archive/2013/02/11/2910114.html 1.go語言不支持傳統的 try…catch…finally 這種異常,因爲Go
原创 bitcoin rpc command
bitcoin rpc command 創建交易 bitcoin-cli createrawtransaction “[{\”txid\”:\”myid\”,\”vout\”:0}]” “{\”address\”:0.01}” bitc
原创 extension block
extension block https://github.com/tothemoon-org/extension-blocks/blob/master/spec.md 描述:不需要改變任何現存的共識規則,來增大比特幣的交易吞吐量。
原创 比特幣協議雜談(2)
比特幣協議 通用標準: 1 hashes 比特幣中的哈希需要被被計算兩次。 哈希算法,大多數:SHA-256; ROPEMD-160 在需要較短哈希時被使用(例如: 當創建一個比特幣地址),ROPEMD-160: 先計算 sha-2
原创 C++之 mutable
mutable 關鍵字 1. 在C++中,mutable是爲了突破const的限制而設置的。被mutable修飾的變量,將永遠處於可變的狀態,即使在一個const函數中,甚至結構體變量或者類對象爲const,其mutable成
原创 C++之 volatile
1. 介紹 像const一樣,volatile是一個類型修飾符。 volatile修飾的數據,編譯器不可對其進行執行期寄存於寄存器的優化。這種特性,是爲了滿足多線程同步、中斷、硬件編程等特殊需要。遇到這個關鍵字聲明的變量,編譯器對訪問該
原创 C++ typedef typename 作用
C++ typedef typename 作用 * C++的一些語法讓人看着費解,其中就有: ``` typedef typename std::vector<T>::size_type size_type; ``` vector:
原创 Language Mechanics On stacks And Pointers--golang
golang堆棧和指針的語言機制 前言 本節專注於:棧和指針。 介紹 當使用指針不正確時,可能會產生bug或性能問題。特別是當寫多線程軟件時。所以很多編程語言試圖從開發者的角度去隱藏指針。然而,如果你想使用go去編程,你沒有任何方式
原创 extension point
BUIP039 Upgrade via extension point https://github.com/BitcoinUnlimited/BUIP/blob/master/039.mediawiki 概要 迄今爲止,僅有硬分叉
原创 C++構造函數、析構函數與拋出異常
請問構造函數後面的throw()含義 : 在構造時,可能會拋出異常 使用時,要注意用try和catch 解釋: 標準C++中定義構造函數是一個對象構建自己,分配所需資源的地方,一旦構造函數執行完畢,則表明這個對象已經誕生了,有自己的
原创 精通比特幣(讀後總結)
精通比特幣 1. 術語: 內容 區塊: 一個區塊就是若干交易數據的集合,它會被標記上時間戳和之前一個區塊的獨特標記。 區塊頭經過哈希運算後會生成一份工作量證明,從而驗證區塊中的交易。有效的區塊經過全網絡的共識後會被追加到主區塊鏈中。