原创 linux下C語言編程8-SDL圖形入門

SDL簡介      SDL 是 Simple DirectMedia Layer(簡易直控媒體層)的縮寫。它是一個跨平臺的多媒 體庫,以用於直接控制底層的多媒體硬件的接口。這些多媒體功能包括了音頻、鍵盤和鼠標 (事件)    、遊戲

原创 thrift使用傳輸協議TCompactProtocol

如何使用其他傳輸協議?默認使用TBinaryProtocol,如何使用TCompactProtocol?解決方法:首先確認系統支持算術位移(負數的位移)在支持的情況下#include <config.h>因爲在文件TCompactProt

原创 fstatfs/statfs詳解

【fstatfs/statfs系統調用】       功能描述:   查詢文件系統相關的信息。     用法:   #include <sys/vfs.h>    /* 或者 <sys/statfs.h> */ int statfs(co

原创 C語言怪異但正確的代碼

(1)數組a,a[1]與1[a]等價,可正確編譯,可正確運行。 因爲a[1]被翻譯爲*(a+1),1[a]被翻譯爲*(1+a),所以二者是等價的。

原创 C語言平面幾何19-三角形的重心和垂心

三角形的重心:三角形三條中線的交點。該交點到頂點的距離是到對邊中點距離的2倍。 三角形的垂心:三角形三條高的交點。 /* 三角形的重心 */ Point BaryCenter(Triangle t) { // 三條中線的交點 Poin

原创 C語言平面幾何18-三角形的內心和內切圓

三角形的內心,就是其內切圓的圓心。三角形三內角平分線相交於一點,該點即爲內心。 /* 三角形的內心 */ Point Incenter(Triangle t) { Line l1 = AngleBisector(t.A, t.B, t.

原创 C語言相關的幾個疑惑

(1)C語言的創立 早期的UNIX是用彙編語言編寫的,但很笨拙,系統難以調試,理解困難。Thompson 想利用高級語言的一些優點,幾經嘗試後創建了B語言。B語言是對BCPL的簡化,常駐內存。由於內存的限制,內存中只能放置解釋器,而不

原创 thrift安裝

    Thrift是Facebook開發出的一個軟件庫和一組代碼生成工具,以加快高效率、可擴展的後端服務的開發與實現的速度。它通過對各語言最常用的部分加以抽象,把它們放進一個通用庫裏,再用各個語言實現,來實現跨編程語言的高效而可靠的通信

原创 thrift多線程服務端

接上一篇 thrift一個例子  作爲服務端,應該能夠同時接收多個客戶端傳來的數據,所以服務端應該實現多線程機制。 按以下3個步驟改寫服務端(Serv_server.skeleton.cpp)即可實現多線程。 (1)採用線程池的main函

原创 mysql客戶端工具靜態化

在linux下使用mysql的客戶端工具非常簡單方便, 例如我們可以mysql -h hostname -u username -p password -D database連接mysql,執行某個語句只需-e"SQL" 即可。 但是,m

原创 gcc編譯時指定宏定義

編譯時:gcc -DMAX=32 -o a a.c 相當於在文件a.c中定義:#define MAX 32

原创 thrift一個例子

我用的是c++,所以我舉一個c++的例子,簡單說一下thrift的使用入門。 例子描述是這樣的:我們將學生信息(學號,姓名,性別,年齡)由客戶端發送到服務端。 實現這個例子,我們大致要做以下幾部分事情: (1)書寫.thrift文件 (2

原创 jsoncpp一個例子

關於json的信息可以去看百度百科http://baike.baidu.com/view/136475.htm。 本文寫的是,如何使用c++讀取json的數據,使用jsoncpp庫。 先附上代碼,之後說明下jsoncpp的使用。 //

原创 thrift序列化和反序列化

thrift序列化和反序列化很簡單,寫個例子如下: #include <transport/TSocket.h> #include <transport/TBufferTransports.h> #include <protoc

原创 -E參數在gcc上的好處

gcc的參數有很多,這裏說一個很重要的參數-E。 如果我們只是想把源文件預處理一下,-E就派上用場了。   它能幹什麼? (1)把用戶定義的所有的預定義#define展開。 舉個例子,如果用戶有以下代碼: #define Max(a, b