原创 html h5 快速查找手冊 學習筆記

HTML 基本文檔 <!DOCTYPE html> <html> <head> <title>文檔標題</title> </head> <body> 可見文本...

原创 好好的web頁面,爲什麼嵌入到CEF3中就錯位了?

一、問題引入         這些天在做一個windows客戶端軟件的二維碼登陸需求,使用的是C++的框架+CEF3展示內容(二維碼)的架構,其中CEF3僅僅用來展示web寫的二維碼。開發完成後,在測試和產品老師的電腦上居然二維碼是錯位的

原创 使用 C++17 fold 表達式來大幅提升的QString的拼接效率

一、前言 最近學習C++17,發現一個有趣的表達式-fold expression(摺疊表達式)。爲什麼說它是有趣的?我們先說一下另外一個C++的特性-變參模板(variadic template),這是C++11新增的的特性,作用就是它

原创 CEF CEF3支持flash 解決黑框

在我們使用cef的時候,有些網頁需要flash來播放,這時候如果我們計算機如果沒有安裝flashplayerpp 的時候,會出現“該插件不受支持”。 這時候我們有兩種選擇可以解決: 1.可以去官網下載安裝包https://www.fla

原创 C++ QT PC端 防止程序重複啓動的幾種方式

在做客戶端的過程中,我們通常會希望程序實例只運行一次,也就是隻希望同時啓動一個程序。所以今天就總結一下幾種防止程序重複啓動的方式: 1.使用QT中的 QLockFile: QLockFile 使用文件提供在不同的進程間的鎖。鎖文件可以放置

原创 QT QThread 多線程 用法一

QThread 用法探究一: QT使用moveThread開啓多線程: 1.創建一個基於QObejct 的類 Controller(在此類中創建多線程的類,並啓動多線程) 2.創建一個基於QObject 的類Worker; (運行在單獨的

原创 QT windows 應用程序 exe 設置詳細信息 解決中文亂碼問題

上一篇博客,我們已經瞭解了使用NSIS進行打包軟件,對於生成的安裝包的詳細信息進行設置。詳情見這裏 windows下使用QT開發,編譯生成的exe或者dll,點擊右鍵-屬性-詳細信息 中都是空的,那麼怎麼設置生成的文件的詳細信息呢? 1.

原创 C++ 實現高性能內存池

一、概述         在 C/C++ 中,內存管理是一個非常棘手的問題,我們在編寫一個程序的時候幾乎不可避免的要遇到內存的分配邏輯,這時候隨之而來的有這樣一些問題:是否有足夠的內存可供分配? 分配失敗了怎麼辦? 如何管理自身的內存使用

原创 PC端C++軟件, 開啓大地址,讓32位程序使用4G內存

我在以前的文章中分析過軟件的內存模型(鏈接點擊這裏),從中我們可以知道,程序運行起來以後,它將有自己獨立的虛擬地址空間。這個空間的大小與操作系統的位數有關。目前使用C++開發的PC端軟件一般都是開發32位的。那麼32位的軟件,最大

原创 C++ 內存模型

1. 前言 對於底層開發程序來講,程序員一定要知道程序運行在內存上的分佈,這特別重要。同樣,對於中級語言C++來講,內存模型很重要!內存模型很重要!內存模型很重要! 所以今天我們來一起分析和總結一下C++程序中的內存分佈情況。 2

原创 一文讓你學會PC軟件升級,學不會過來打我

前言 幾乎所有人都知道,包含安卓,iOS,PC等等幾乎所有的軟件,所有的前後端程序,都必須要面對一個問題,那就是升級。也許有一些人會問,爲什麼所有軟件都需要升級呢?好吧,也許會有人開玩笑的說:“那肯定是開發程序的人水平不夠,永遠做

原创 深入探究Qt HTTP的內部構架

一、前言 當今互聯網時代中,B/S(Browser/Server , 瀏覽器/服務器)以及C/S(Client/Server , 客戶端/服務器)架構已經是絕對的主流軟件架構設計方式(除了極少部分的單機軟件),它們各有優缺點,這裏

原创 C++ QT內存泄漏總結

對於編程來講,每種語言都有各自的內存管理機制,他們並不是完全相同。有的語言比如JAVA、H5等無需編程人員關心內存是怎樣創建,怎麼釋放的,系統會對內存自動管理。但是有些語言比如C、C++等,就需要程序員手動進行內存管理,比如需要的

原创 C++ 內存泄露檢測工具-Visual Leak Detector(VLD)

上一次我們對C++程序內存泄漏進行了總結,那麼要想檢查一個程序是否存在內存泄漏,面對動輒幾萬行的代碼,想要一行一行的審查代碼檢查是否內存是否泄漏,顯然效率很低,對於更大的項目也不太現實。 所以我們需要藉助一款能夠自動檢測內存是否泄

原创 c++ 中 vector、list 、set 、map等相關容器的區別

1. vector vector 封裝了數組 ,是有序的。在內存中是一塊連續的內存空間進行存儲。但是不支持用戶指定空間大小。系統首先分配一個非常大的內存空間進行預備存儲,當超過此分配的空間時在進行整體重新分配一塊內存空間存儲。這就