原创 《工作筆記二》python自動生成代碼

爲什麼需要自動生成代碼 在遊戲公司我發現一個問題,存在大量相似的代碼,而公司主程處理這些相似代碼的辦法則是編寫自己的代碼生成工具來自動生成這些代碼,因爲編寫相似的代碼不僅耗時,還不能保證每個人編寫的代碼格式是否標準,所以在這裏使用代碼生成

原创 MFC製作位圖按鈕

MFC製作位圖按鈕 前序 學習過MFC的讀者應該都知道MFC自帶的控件是相當醜陋的,我曾在自帶按鈕的基礎上做了一些美化可總會遇到挺多問題,當然也是技術不過關的表現,我在原本的按鈕上添加圖標後,覺得按鈕樣式太醜了,想給MFC使用皮膚樣式,但

原创 MFC製作本地文件系統(三)

前序 上一步我們實現了雙擊響應事件,這節我們將在裏面添加響應函數。函數主要是用於雙擊一個文件夾後進入到該文件夾內部,並可以通過雙擊 ..兩個點這一欄回到上級目錄。 實現 1、我們來到LocalFileSysDlg.h文件下,我們在CLoc

原创 MFC製作本地文件系統(二)

前序 該章是在上一章的基礎上繼續完善代碼,先來看看我們上一章做到哪了 那麼我們接下來要先給控件加上圖標(不然太醜了),然後先實現雙擊進入目錄(爲了做到簡單些,我這裏的不會去做位圖按鈕來實現返回功能,而是直接在工具箱中添加一個按鈕來響應

原创 《工作筆記一》C++函數式宏定義的使用

什麼是宏定義? 通常宏定義的格式爲:#define 標識符 字符串 相信大家都見過非常多了,通常我們編譯過程中的預處理(預編譯)工作又叫宏展開,將代碼中的宏名替換爲字符串。 爲什麼要用宏函數? 宏函數雖然在處理複雜的函數(例如遞歸函數)時

原创 Linux下使用C++實現觀察者模式

什麼是觀察者模式 觀察者模式(有時又被稱爲模型-視圖(View)模式、源-收聽者(Listener)模式或從屬者模式)是軟件設計模式的一種。在此種模式中,一個目標物件管理所有相依於它的觀察者物件,並且在它本身的狀態改變時主動發出通知。這通

原创 C++11 lambda表達式使用場景解析

Lambda表達式的使用場景 其實我在剛開始使用lambda的時候就挺好奇什麼時候使用好,經常在不需要使用的時候使用上了,真的是多此一舉,那麼要在什麼情況下使用呢? 因爲lambda表達式又叫匿名函數(當然我們也可以理解爲是一個未命名的

原创 Linux-(C/C++)生成並使用靜態庫/動態庫

靜態庫/動態庫概要在Windows下靜態庫的後綴爲:.lib、動態庫後綴爲:.dll;而在Linux下靜態庫的後綴爲:.a、動態庫的後綴爲:.so。那麼什麼是靜態庫呢?首先我們來看看程序編譯的大體流程:預處理——編譯——彙編——鏈接在我們

原创 C++之使用jsoncpp解析json數據

      說到http協議那就離不開json數據的解析了,那麼在C++中如何對json數據進行解析呢?博主在這裏使用jsoncpp來解析json數據。        首先需要搭建jsoncpp的環境,這裏我就不再詳細介紹,給大家推薦一篇

原创 C++11之atomic原子操作

atomic介紹atomic對int、char、bool等數據結構進行了原子性封裝,在多線程環境中,對std::atomic對象的訪問不會造成競爭-冒險。利用std::atomic可實現數據結構的無鎖設計。所謂的原子操作,取的就是“原子是

原创 MFC使用URL讀取圖片

MFC使用url地址讀取圖片 該方法讀取的作用? 很多情況下我們是使用http協議與後端進行交互的,那麼我們MFC如何通過url地址來直接顯示圖片呢? 下面先來看看我在讀取的效果圖: 準備工作 我的後臺是使用.NET Core實現的

原创 Linux下C++使用抽象工廠模式實現數據庫操作

抽象工廠模式解析 抽象工廠模式是所有形態的工廠模式中最爲抽象和最具一般性的一種形態。抽象工廠模式是指當有多個抽象角色時,使用的一種工廠模式。抽象工廠模式可以向客戶端提供一個接口,使客戶端在不必指定產品的具體的情況下,創建多個產品族中的產

原创 IOCP模型淺析

什麼是IOCPIOCP即是完成端口,完成端口會充分利用Windows內核來進行I/O的調度,是用於C/S通信模式中性能最好的網絡通信模型,當初微軟提出完成端口的初衷是爲了解決“one thread per client ”的缺點, 它充分

原创 Windows消息機制

概述在Windows中發生的一切都可以用消息來表示,消息用於告訴操作系統發生了什麼,所有的Windows應用程序都是消息驅動的。 一個消息是由消息的名稱(UINT)和兩個參數(WPARAM, LPARAM)組成。消息的參數中包含有重要的信

原创 重疊IO模型知識

什麼是重疊IO重疊模型是一種異步IO模型。多線程結構中就考慮到採用異步的方式進行設備讀寫操作,即我們告訴系統對設備的讀寫數據,而同時應用程序的其他代碼繼續執行,直到獲取設備操作完畢的系統通知。重疊IO的作用我們在這裏做一下對使用重疊IO和