原创 Thrift使用文檔詳解(一步一步跟着做就可以)

Linux下使用Thrift詳細步驟 一、下載 下載 boost(c++靜態庫,必須),官方網址  http://sourceforge.net/projects/boost/files/boost/1.58.0/   下載thrift 

原创 vs2010 靜態庫以及動態庫編譯實例

最近在研究ffmpeg,由於用c#開發,而ffmpeg採用的是c開發,因此打算先用c將ffmpeg的一些函數封裝成庫,在用c#來調用,花了一天時間(確實水平太低)寫了幾個vs2010下的靜態庫以及動態庫的編譯實例。 一、vs2010下

原创 linux和windows下通信的thrift

1、簡介 首先介紹下thrift的作用,thrift的全名叫做Apache thrift,是一款軟件開發RPC框架,可以很高效地實現跨語言的RPC服務。 RPC:遠程過程調用協議,它是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底

原创 Windows API ——CreateMutex——創建互斥對象

互斥對象是系統內核維護的一種數據結構,它保證了對象對單個線程的訪問權   互斥對象的結構:包含了一個使用數量,一個線程ID,一個計數器   使用數量是指有多少個線程在調用該對象,線程ID是指互斥對象維護的線程的ID   計數器表示當前線程

原创 聯合(union)用法

聯合(union)在C/C++裏面見得並不多,但是在一些對內存要求特別嚴格的地方,聯合又是頻繁出現,那麼究竟什麼是聯合、怎麼去用、有什麼需要注意的地方呢?就這些問題,我試着做一些簡單的回答,裏面肯定還有不當的地方,歡迎指出! 1、什麼是

原创 多線程二 多線程中的隱蔽問題揭祕

 上一篇《多線程一  CreateThread與_beginthreadex本質區別》中講到一個多線程報數功能。爲了描述方便和代碼簡潔起見,我們可以只輸出最後的報數結果來觀察程序是否運行出錯。這也非常類似於統計一個網站每天有多少用戶登錄

原创 多線程六 經典線程同步之信號量Semaphore

1、首先來看看如何使用信號量     信號量Semaphore常用有三個函數,使用很方便。下面是這幾個函數的原型和使用說明。 第一個 CreateSemaphore 函數功能:創建信號量 函數原型: HANDLE Create

原创 C++基礎:動態鏈接庫調用方法總結

雖說在08年就學習了靜態庫,動態鏈接庫的使用方法,但是在最近的工作中才發現,動態鏈接庫的動態調用(也叫顯式調用)我是可以運用了,但是靜態調用(也叫隱式調用)我其實還是沒有掌握,這次就借這個機會把動態庫的兩種用法再熟悉一下。 (一)先回

原创 使用VS2010編譯Boost及thrift0.9.2

一、 編譯boost 1、 解壓boost_1_57_0.zip到目錄:D:\Work\3rdParty\src\boost_1_57_0 2、 打開VS2010命令行工具,進入到以上目錄,運行bootstrap.bat 3、 執行:b2

原创 多線程一 CreateThread與_beginthreadex的本質區別

1、儘量使用_beginthreadex()來代替使用CreateThread(),爲什麼?        _beginthreadex()函數在創建新線程時會分配並初始化一個_tiddata塊。這個_tiddata塊自然是用來存放一

原创 xp下使用thrift

從服務器上來看,thrift最早的版本爲thrift0.6.0,在2011年發佈的。thrift並不是很重視windows的用戶,知道0.8.0版本才支持windows下編譯。其中,相關文檔也不更新,開發使用起來確實有點無奈~ 尤其對xp

原创 CreateEvent的用法

事件對象就像一個開關:它只有兩種狀態---開和關。當一個事件處於”開”狀態,我們稱其爲”有信號”否則稱爲”無信號”。可以在一個線程的執行函數中創建一個事件對象,然後觀察它的狀態,如果是”無信號”就讓該線程睡眠,這樣該線程佔用的CPU時間

原创 存儲dlp的需求文檔,整理於賽門鐵克的文檔

存儲dlp配置功能如下: 在存儲dlp模塊中掃描目標配置選項有如下功能(支持與、或兩種模式設置掃描規則): *1、配置所需字段:    在 “管理”>“發現掃描”>“發現目標” 中 “新建目標”,在“常規”輸入發現目標的“名稱”(也是所

原创 ICAP協議簡介

一.    ICAP協議簡介  ICAP是Internet Content Adaptation Protocol的縮寫.它在本質上是在HTTP message上執  行RPC遠程過程調用的一種輕量級的協

原创 Openfire3.10.2源碼在eclipse上部署編譯

本來是轉載但是由兩點是我自己發現的,所以暫且算個原創吧。 在配置運行的參數時,-DopenfireHome=”${workspace_loc:openfire}/target/openfire” 可能會導致編譯過不去,所以直接使用絕對路