原创 Erlang運行時提供的原子操作API

儘管Erlang給開發人員提供的語義是基於消息傳遞式的同步,對於應用開發者來說,使用這種語義可以避免使用鎖;但是在Erlang運行時(ERTS)中,爲了充分利用多核處理器中多個處理器核心,Erlang運行時採用了多線程的結構,例如一個調

原创 Erlang R16+ Crypto模塊與最新Openssl不兼容問題

方法一: CFLAGS="-DOPENSSL_NO_EC=1" ./configure 方法二: 原文地址:http://www.kongqingquan.com/archives/145 服務器上新安裝了R1601版本後,啓動

原创 Erlang Binary的內部結構和分類介紹

我們先來重溫一下《Erlang數據類型的內部實現》一文。 Erlang中封裝binary數據指針時,尾部都會被貼上boxed標籤(即最後2位爲10B

原创 實例分析Erlang的彙編指令

《Erlang虛擬機(VM)簡介》一文中介紹的寄存器和指令參數類型是學習Erlang VM相關知識的基礎,也是理解本文內容的前提,這裏就不贅述了。

原创 Erlang二進制創建的內部機制和優化(二)

Erlang二進制創建的內部機制和優化(一) 這一節以實例分析的方式繼續探索二進制創建的內部機制。 爲了驗證上一節的內容,首先在erl_bits.c中的erts_bs_appen函數里加入一些調試輸出。void print_bin(cha

原创 Erlang面試題:運算符

1 == 1.0 的返回值是( ) 1 =:= 1.0 的返回值是( ) 1 /= 1.0 的返回值是( ) 1 =/= 1.0 的返回值是( ) (0 == 0) or (1/0 > 2) 的返回值是( ) (0 == 0) orel

原创 Erlang list的++操作和append函數的底層實現

當提到Erlang中list的++操作符時,我們常會想到它的性能問題。 有些人知道++操作比較耗時,就改用函數append來代替。 到底++操作和a

原创 Erlang原子(atom)的內部實現及應用

Erlang的原子(atom)在匹配中有着重要作用,它兼顧了可讀性和運行效率。 通過atom,可以實現很多靈活高效的應用。 例:動態生成模塊名和函數

原创 實例分析Erlang二進制(Binary)匹配的內部機制

Erlang的二進制操作很簡單很強大,《Erlang二進制創建的內部機制和優化》一文介紹了binary的創建,現在就來探索它的逆過程,匹配操作。下面

原创 Erlang虛擬機(VM)簡介

Erlang代碼是運行在Erlang的虛擬機(VM)上的,所謂虛擬,說它是虛擬一臺真實的機器,還不如說它是虛擬了一個運行Erlang指令的CPU來得更確切。 Erlang運行在虛擬機上,就好比C語言運行在真實的機器上。 Erlang語言的

原创 實例分析Erlang二進制(Binary)的匹配優化

從《實例分析Erlang二進制(Binary)匹配的內部機制》一文中瞭解到二進制匹配機制,現在該是付諸行動、動手優化Erlang程序匹配操作的時候了

原创 初探Erlang的term_to_binary數據封包機制

1、引言 讀本文之前,建議先讀本博客《Erlang數據類型的內部實現》一文。 erlang:term_to_binary/1,2函數返回值是Erlang擴展term格式(Erlang external term format)的bina

原创 浮點數表示及其實現

首先說一下原,反,補,移碼. 移碼其實就等於補碼,只是符號相反. 對於正數而言,原,反,補碼都一樣, 對負數而言,反碼除符號位外,在原碼的基礎上按位取反,補碼則在反碼的基礎之上,在其最低位上加1,要求移碼時,仍然是先求補碼,再改符號. 浮

原创 Unicode編碼表(漢字部分)

U+ 0 1 2 3 4 5 6 7 8 9 A B C D E F  --------------------------------------

原创 重啓Erlang Socket服務時,報出{error, eaddrinuse}錯誤的解決方法

原文地址:http://blog.csdn.net/zhongruixian/article/details/18042433 重啓Erlang Socket服務時,gen_tcp:listen/2返回{error, eaddrinuse