原创 使用子類化窗口的方法來實現對Static控件進行背景色修改
最近遇到了一個問題,duilib工程中使用了Static控件,然後需要更改Static控件的背景色。 最開始的想法是在CreateWindowEx中能否指定畫刷之類的信息,發現沒有。 然後在網上找了一些信息,發現這篇文章可以解決。
原创 cef3 版本號解析 以及 各個版本適應的平臺參考表
(一)版本號解析: 一、 cef3 版本號識別:X.YYYY.A.gHHHHHHH "X" : cef3的主版本號; "YYYY" :chrominum 分支號 "A" : 代表當前分支中,提
原创 框架指針省略(Frame Pointer Omission)(FPO)
框架指針省略(Frame Pointer Omission)(FPO) FPO是一種優化,它壓縮或者省略了在棧上爲該函數創建框架指針的過程。這個選項加速了函數調用,因爲不需要建立和移除框架指針(ESP,EBP)了。同時,它還解放出了一個寄
原创 VS2015 讓Release程序生成pdb文件
第一步: 項目->屬性->C/C++->General->Debug Information Format->Program Database for Edit & Continue (/ZI) 第二步: 項目->屬性->C/C++
原创 關於dll中函數的導出與導入
被同事問了一個使用dll導出函數導致編譯不過的問題,寫博客整理備忘。 假設我在做一個計算器,然後裏頭的數學運算希望放到一個dll中實現,方便複用。 計算器calc.exe 數學運算庫:math.dll math.lib 我希望在mat
原创 git命令學習備忘
刪除文件 git rm xxx.cpp git log內容太多,一行來展示: git log --pretty=oneline 查看入庫前的改動: git diff 也可以查看單個文件的改動 git diff xxx.cpp gi
原创 C++如何實現一個線程安全的單例
方法(1): static SingletionClass* Instance() { Locker locker; if (m_spInstance == NULL) {
原创 讓html頁面不緩存js的實現方法
背景:產品同學想讓我們在訪問某個頁面的時候在頁面地址後面加一個時間戳的參數。我說爲什麼,有什麼作用? 他說防止每次都加載js文件。 我發現他這個需求是一個僞需求,懟了回去,給了他兩個方法可以解決。因爲我們是自己 開發的瀏覽器,我們可以做,
原创 使用Git子模塊開發時無意中發現可以在主倉庫的子倉庫路徑中提交代碼
之前我們使用子模塊的時候,都是在主倉庫中修改主倉庫的代碼,子倉庫修改子倉庫的代碼。然後子倉庫有需要修改的代碼都是在子倉庫對應的代碼中修改,然後主倉庫通過git submodule update來更新子倉庫的代碼並且提交。 先把目前
原创 VisualStudio 2015提示 userSuppliedValue不能爲null 的解決辦法
問題簡介 當DLL項目從VS2013升級到VS2015的時候,想要去改目標文件名多個2015以示區分, 改了之後發現報瞭如下這個錯誤。 問題原因 原因是目標平臺版本沒設置,設置下就好了 解決辦法 若要面向 Windows 7 或
原创 Window環境變量學習
最近開發chrome項目中遇到了問題,chrome中的進程需要一些參數,之前的做法是寫死在代碼裏頭的,後來發現每次這些參數都會變化。然後每次一個小改動,構建出來一個包都需要2個多小時,效率非常低。所以想通過一個可配的方式來實現。 我們
原创 chromium代碼快速搜索工具Code Search
最近使用Code Search老是提示有新的更新,強迫症,還是把他更新了吧,不然那個tip老是放在那裏。 所以就按照地址找到了下載地址,然後又順便在github上看了下教程,也看了下代碼。發現這個東西還是很厲害 Code Search
原创 雜七雜八備忘錄
(一)c++寫內容到文件中 #include <vector> #include <string> #include <fstream> #include <iostream> #include <windows.h> using nam
原创 windows用戶對象或者GDI對象個數限制整理
寫這篇文章源自查看一個dump,CEF在創建位圖數據的時候崩潰了。 我很納悶爲什麼會失敗,我首先想到的是程序是不是有資源泄露,導致GDI句柄數過高導致。 把堆棧打印出來發現GDI資源個數0x564個,User對象個數0x5e5個,都才一千