原创 Live555學習入門
一、準備好源碼 下載:https://github.com/nqv/live555 下載命令:git clone https://github.com/nqv/live555 二、live555編譯環境搭建 按照如下步驟編譯: 1從liv
原创 c++ 中explicit的作用
1、explicit作用 在c++中,explicit關鍵字用來修飾類的構造函數,修飾的構造函數的類,不能發生相應的隱式類型轉換,只能以顯示的方式進行類型轉換。 explicit使用注意事項: explicit 關鍵字只能用於類內部
原创 c++11下的單例模式
一、原來的單例模式設計流程 1、構造函數修改爲私有; 2、定義一個私有的靜態成員變量(返回指針); 3、定義一個全局的靜態成員函數(返回指針); 4、通過全局靜態成員函數實現控制類的實例化的
原创 C++ 中,auto 關鍵字
在函數返回值/range-for 等情況中 1、auto使用 有5種用法 auto :拷貝 auto& :左值引用,只能接左值(和常量右值) auto&& :萬能引用,能接左值和右值 cons
原创 GB28181國標錯誤碼整理
錯誤碼定義 錯誤碼 錯誤碼宏定義 說明 0 ERR_COMMON_SUCCEED 執行成功 1 ERR_COMMON_FAIL 執行失敗 2 ERR_COMMON_INVALID_PARAM 輸入參數非法 3 ERR_COMMON_
原创 Go語言等待組(sync.WaitGroup)
Go語言除了可以使用通道(channel)和互斥鎖進行兩個併發程序間的同步外,還可以使用等待組進行多個任務的同步,等待組可以保證在併發環境中完成指定數量的任務。 在sync.WaitGroup(等待組)類型中,每個s
原创 LiveGBS GB28181方案安裝使用說明
服務架構 服務說明 安裝包 1、windows平臺使用的安裝包 LiveCMS-windows-***.zip LiveSMS-windows-***.zip 2、Linux平臺使用的安裝包 LiveCMS-linux-*
原创 C++ spdlog日誌庫
spdlog 是一個快速的 C++ 日誌庫,只包含頭文件,兼容 C++11。 特性: 非常快 只包含頭文件 無需依賴第三方庫 支持跨平臺 - Linux / Windows on 32/64 bits 支持多線程 可對日誌文件進行循環
原创 Go語言channel超時機制
前沿 go語言沒有提供直接的超時處理機制,所謂超時可以理解爲我們上網瀏覽一些網站時,如果一段時間之後不操作,就會需要重新登錄;那麼我們應該如何實現這一功能呢?這時就需要select來設置超時。 雖然selec
原创 extern講解
1、基本解釋 extern可以置於變量或者函數前,以標示變量或者函數的定義在別的文件中,提示編譯器遇到此變量和函數時在其他模塊中尋找其定義。另外,extern也可用來進行鏈接指定。 2、問題:extern變臉 在一個源文件定義了一個
原创 如何使用Google日誌庫
Google Glog 是一個C++語言的應用級日誌記錄框架,提供了 C++ 風格的流操作和各種助手宏。 1、開源項目首頁已經從https://code.google.com/p/google-glog/遷移到https://git
原创 const關鍵字講解
主要概括 const除了修飾常量外,更重要的應用是修飾函數,放在函數不同的位置起到的作用也不同,按照接下來文章以下三部分展開: const修飾函數參數 const修飾函數返回值 const修飾this指針 const修飾函數參數
原创 boost::locale::conv:: 字符編碼轉換
相關字符集轉換函數功能摘要: std::string boost::locale::conv::between ( char const * begin, char const * end, std::string const &
原创 遇到c++編譯undefined reference to “std::ios_base::Init::Init()”錯誤的解決方案
root@localhost testDemo]# gcc -o mydemo mydome.cpp /tmp/ccx5MfhH.o: In function `main': mydome.cpp:(.text+0xf): undefin
原创 c++ 中NULL和nullptr的區別
在編寫c程序時候只看到過NULL,而在C++的編程中,我們可以看到NULL和nullptr兩種關鍵字,其實nullptr是C++11版本中新加入的,它的出現是爲了解決NULL表示空指針在C++中具有二義性的問題,爲了弄明白這個問題,我查找