原创 C++11 mutable

C++11中的mutable是用來修改const函數中的不可修改類成員這一缺陷的: class Log{ public: // void print(const std::string& str) const

原创 C++11 寬窄字符轉換

    //wstring 轉 string     typedef std::wstring_convert<std::codecvt<wchar_t, char, std::mbstate_t>> CONVER;     std::w

原创 對稱型NAT打洞的理解筆記

4種NAT打洞:完全錐體、IP受限型、(IP和)端口受限型、對稱型。其三種都很好理解,唯獨對稱型比較不好理解,這裏做些自己的理解。 對稱型:是指UDP打洞時,一個請求對應一個映射關係。 clientA (x,y) ----------->

原创 容易出錯的windows程序編譯

1、windows 代碼的編碼可能影響程序的編譯; 2、Q_OBJECT只是一個 宏 凡是帶有信號槽的,都要內置這個: class CRLineEdit : public QLineEdit { Q_OBJECT public:

原创 消迴音原理與項目經驗

https://shichaog1.gitbooks.io/hand-book-of-speech-enhancement-and-recognition/content/

原创 linux對C++11多線程的支持

#include <iostream> #include <thread> #include <future> using namespace std; double calc(double v) { cout << "c

原创 工廠方法模式與抽象工廠模式記憶

工廠方法:就是一條生產線,進來什麼,出去都是一樣的(接口都是一樣的)(一個虛基類,一個產品) 抽象工廠:一個代工廠,誰來就貼誰的牌(至少兩個產品-兩個虛產品基類,一個虛工廠基類)

原创 live555源代碼解讀

live555代碼解讀之一:RTSP 連接的建立過程 RTSPServer 類用於構建一個RTSP 服務器,該類同時在其內部定義了一個RTSPClientSession 類,用於處理單獨的客戶會話。 首先創建RTSP 服務器( 具體實現類

原创 QtWebengineView之QWebChannel通信分析

 在實際使用中,我們通常這樣使用QWebChannel //bridge類用作JS與C++通信橋樑 class bridge : public QObject { Q_OBJECT public: static brid

原创 NAL header

  NAL header 起始碼(暗紅底色)"0x00000001"分割出來的比特流即是NAL unit,起始碼緊跟的第一個字節(墨綠底色)是NAL header。上圖“NAL header”一共出現了四個數值: ·"0x06",此時N

原创 QWebChannel之QJSEngine調用js解析

在之前的文章中花了很多內容去做一般性的分析,但是我們始終有個疑惑,就是C++與js究竟如何調用的。由於時間關係,這裏僅做一個結論性的筆記。 QWebChannel使用的主要原理是:C++類實例化後,註冊到元對象系統,然後暴露給html,進

原创 QWidget跨平臺原因分析

Qt是一個跨平臺的C++庫,目前無論是嵌入式操作系統UI開發,還是在Linux/windows PC級應用程序開發都佔有非常龐大的用戶羣。既然說是跨平臺,目前大約有兩種方式,一種是以java/python爲代表的解釋執行,另一種是程序庫的

原创 Webrtc音頻引擎(一步一步讀代碼)

WebRTC音頻引擎的實現代碼主要分佈在如下幾個源碼目錄中: webrtc/audio webrtc/common_audio webrtc/media/engine webrtc/voice_engine //音頻編解碼 webrtc

原创 設計模式究極思考

總綱:在架構中實現抽象,在實現中實現擴展

原创 android Activity finish方法

android Activity finish方法放在不同的地方會有不同的效果:   1、放在MainActivity測oncreate方法內: public class MainActivity extends AppCompatAc