原创 MFC桌面應用嵌入子進程界面方法及其消息同步

簡述 之前在工作中開發了一款嵌入百度地圖的插件(.dll),集成到系統軟件中測試發現在操作地圖後軟件內存一直在增長,而且刷新不能釋放。起初懷疑是MFC的webbrowser控件緩存未釋放,也嘗試使用ChtmlView類進行開發

原创 QT5 HTTP、websocket協議實現SLL認證

最近在使用QT開發應用程序,其中涉及到使用HTTP、WebSocket協議加SSL認證與JAVA服務器通信(即發送請求時uri頭部爲HTTPS,WSS)。 QT給出的實現方法是調用QNetworkRequest(HTTP協議使用)、QWe

原创 inotify_event中文件名變長的內存處理

最近在使用inotify做文件系統變化的監控時,對inotify_event中的name的內存對齊理解出現了誤差,在此記錄一下。 文件事件通過inotify_event 結構體表示,它通過使用文件讀取函數 read (文件描述符由inot

原创 envoy實現C++服務間的socket消息轉發

本文介紹使用envoy中的tcp代理實現C++服務間的socket消息轉發。 1. 確定宿主機與容器間網絡 由於C++服務中的客戶端及服務器程序直接在宿主機上運行,所有需要提前確定好宿主機與docker容器是否能正常通信 2. envoy

原创 ubuntu18.04安裝構建envoy環境

安裝docker環境 1. 先確定環境中是否存在docker舊版本,如果存在就先卸載。筆者使用的是最新安裝的虛擬機系統,不需要執行此步驟 sudo apt-get remove docker docker-engine docker-ce

原创 MFC程序嵌入子進程界面的通信方法及消息同步

簡述 之前在工作中開發了一款嵌入百度地圖的插件(.dll),集成到系統軟件中測試發現在操作地圖後軟件內存一直在增長,而且刷新不能釋放。起初懷疑是MFC的webbrowser控件緩存未釋放,也嘗試使用ChtmlView類進行開發,任

原创 C++使用正則表達式判斷GUID格式

首先,我們先了解一下GUID的概念及正則表達式。 GUID,全局統一標識符。在Windows 平臺上,GUID 應用非常廣泛:註冊表、類及接口標識、數據庫、甚至自動生成的機器名、目錄名等。通用的GUID的結構如下typedef struc

原创 windows核心編程之用戶方式中的線程同步

原子訪問:是指線程在訪問資源時能夠確保所有其他線程都不在同一時間內訪問相同的資源。 互鎖函數 對於互鎖函數,需要了解它們運行的速度極快。調用一個互鎖函數,通常會導致執行幾個CPU週期(通常小於50),並且不會從用戶方式轉爲內核方式(通常

原创 CentOS 7.x系列安裝mysql數據庫問題解決方法

在部署linux環境(CentOS7.4+Nginx+MySQL)時,安裝使用mySQL數據庫時遇到了如下問題:一、安裝了一個mySQL數據庫,執行systemctl start mysqld, 發現數據庫沒起來,安裝失敗;二、在wi