原创 從零衝擊Erlang(一)

最近感覺很累,感覺工作中沒什麼目標,整天渾渾噩噩的。這樣子下去於己非常不利,思前想後,準備寫個小專輯,記錄一下自己的Erlang學習之路。 Erlang雖不是目前工作中用到的技術,不過得益於它高效的併發性,其當前已經被很多項目中使用了,同

原创 用#include的文件中的內容給變量賦值

/** * * data.h */ {1, 1}, {2, 2}, {3, 3}, /** * * main.c */ #include <stdio> struct Data { int a; int b; }; st

原创 從零衝擊Erlang(四)

今天我要來學習一下Erlang中一個關鍵的數據類型----列表 列表是用[...]方括號來表示的,其元素類型和元組一樣可以是任意類型,長度也是任意的。 先來看幾個基本的簡單的列表: [1,2,3] [one,two,three] [[1,

原创 libssh2庫的接口設計模式

C語言的項目代碼的架構設計很少有書籍介紹到,今天來談論一下一個通用的軟件代碼架構模型。 項目工程中有include目錄和src目錄。src目錄中的所有文件最終會被生成一個so文件。在部署的時候將這個so文件和include目錄中的所有h文

原创 從零衝擊Erlang(六)

今天再來學習Erlang中的另幾種數據類型:pid,端口,引用 pid,顧名思義,和Linux系統編程中的一樣,進程標識符。 Erlang支持用進程編程,任何代碼都需要一個Erlang進程作爲載體才能運行。每個進程都有一個唯一的進程標識符

原创 從零衝擊Erlang(三)

今天我要來好好的學習一下Erlang中的基本結構:元組。 在一些Erlang英文文檔或者網絡上的關於Erlang博客中出現的單詞tuple指的就是元組。 元組的定義:元組是Erlang項式的定長的有序序列。元組用大括號{}來表示,來看幾個

原创 從零衝擊Erlang(二)

今天我們將來初步認識Erlang。 首先一個很關心的問題是:我怎麼進行Erlang程序的開發啊? 要開發,就要有類似於C語言的GCC這樣的編譯器的東西,那麼Erlang是什麼呢?那就是Erlang Shell了。 從官網下載,我的系統是w

原创 從零衝擊Erlang(五)

來學習一下Erlang中的一個很重要的數據類型---字符串 Erlang中的雙引號字符串實際上就是列表,其元素就是該字符串中各字符的數值編碼所對應的整數。 “abcd” ---> [97,98,99,100]  ---> [$a,$,b,

原创 C語言實現狀態設計模式

#include <stdio.h> #include <stdlib.h> #include <string.h> #ifndef VIRTUAL #define VIRTUAL #endif #ifndef DELETE #def

原创 log4cxx日誌庫RedHat下安裝

今天領導交給我一個任務:把log4cxx庫在Redhat系統上面安裝起來 首先,我得到信息,安裝這個庫一共需要三個軟件 apr-1.4.6.tar.gz apr-util-1.4.1.tar.gz apache-log4cxx-0.10.

原创 shell腳本函數的用法

#!/bin/bash do_config() { echo "do_config" } do_make() { echo "do_make" } do_install() { echo "do_install" }

原创 [代碼片段] 創建TCP套接字

#include <unistd.h> #include <stdlib.h> #include <stdio.h> #include <errno.h> #include <string.h> #include <sys/types

原创 [代碼片段] 字符串替換

void replace(string& orignStr, const string& oldStr, const string& newStr) { size_t pos = 0; string::size_typ

原创 Ubuntu14.04 運行VNote 後話

在安裝了dbus後,重啓機器後發現啓動停留在黑屏,無法進入桌面環境了,可急死人了。 再次重啓,這是按着Ctrl+Shift+F1 雖然可以進入ubuntu終端界面,不過ifconfig後發現,連不上網絡了。 百度了一些相關信息後,發現

原创 Yocto 解題錄:QA Issue: PN: lib-Test is upper case

Yocto默認將recipe生成rpm包,爲了生成ipk包,可以做如下修改: 將build/conf/local.conf中的 PACKAGE_CLASSES ?= "package_ipk package_rpm" 改成 PACK