原创 linux問題備忘

庫路徑加載不到 vi /etc/ld.so.conf 編輯後如下: include ld.so.conf.d/*.conf /usr/lib   程序異常退出定位 1. 編譯選項加上 -g,加入調試信息。 2. gbd 調試執行,參考 h

原创 使用管道來獲取CMD命令的結果

UINT __cdecl ThreadProc(LPVOID lParam) { HWND hWnd = (HWND)lParam; ASSERT(hWnd); TCHAR szApp[MAX_PATH] = _T("ping

原创 關於c++中斷言assert的說明 『轉』

關於c++中斷言assert的說明 『轉』 assert(條件) ; 如果條件不滿足則會彈出對話框  技巧1  assert(條件&&"說明信息")  由於對話框中會顯示條件,因此可以利用這個特點顯示說明信息,幫助定位錯誤  技巧2 

原创 STL(學習筆記1-STL巡禮)

1.1 一個簡單的例子 要見識SLT的威力,看下面這個簡化版本的UINX sort(排序) 它由標準輸入流(standard input stream)一行行的讀入數據,然後將排序後的數據一行行寫到標準輸出流(standard out

原创 虛函數在類繼承中的用法

// TestConsole.cpp : 定義控制檯應用程序的入口點。 // #include <iostream> using namespace std; //class A class A { public: A() {

原创 D3D顯示FreeType讀取的TFF字庫

網上COPY的一段代碼,進行了修改,效率有所提升,比IDirectFont顯示字符的效率提高3-4倍,需要繼續優化。 1.紋理淘汰算法需要修改,LRU算法不錯。 #pragma once #include <d3dx9.h> #in

原创 C++流擴展 streambuff-轉載

C++流擴展 streambuff結合socket流的擴展轉載鏈接 結合socket流的擴展 #include <WinSock2.h> ///// out //no buffer class So

原创 CHM文檔製作

公司需要,最近製作了一個CHM的幫助文檔,開始用的EASY CHM,發現雖然是中文的很好用,可是需要註冊版,而且不支持目錄和索引文檔的導入和導出,所以用了官方的HTML Help Workshop發現真的和好用,而且是免費的,不需要註冊。

原创 軟件設計重要原則

單一職責原則(SRP):就一個類而言,應該僅有一個引起它變化的原因。 如何一個類承擔的職責過多,就等於把這些職責耦合在一起,一個職責的變化可能會削弱或者抑制這個類完成其他職責的能力。這個耦合會導致脆弱的設計,當變化發生時,設計會遭受到意

原创 GIT使用備忘

GIT使用備忘一次添加多個修改文件 一次添加多個修改文件 git add -u

原创 SendMessage和PostMessage 的區別,以及消息循環路由

一、下面示例函數func()中有PostMessage和SendMessage int MainWnd(...) { MSG msg; while(1) { //當沒有消息時,GetMessage不返回,程序就停

原创 OpenThread中的condition和barrier

condition應用 condition源碼 #ifndef _WIN32CONDITIONPRIVATEDATA_H_ #define _WIN32CONDITIONPRIVATEDATA_H_ #ifndef _WINDOWS_

原创 C++ 智能指針詳解

C++ 智能指針詳解   一、簡介 由於 C++ 語言沒有自動內存回收機制,程序員每次 new 出來的內存都要手動 delete。程序員忘記 delete,流程太複雜,最終導致沒有 delete,異常導致程序過早退出,沒有執行 delet

原创 C++內存泄露的問題

遇到一個很頭疼的內存泄露的問題,調試的大半天才發現的,指針指向的對象1被delete了兩次,而在VS2005中,debug中斷的位置不是這個被多次delete的對象1,而是另外一個對象2,在釋放它的時候,提示訪問了未知的堆棧。 雖然沒有在

原创 操作註冊表,關閉計算機

寫了個定時關機的小程序,到點關機,早睡早起。 #include<Windows.h> BOOL MySystemShutdown() { HANDLE hToken; TOKEN_PRIVILEGES tkp; //