原创 “池化技術”漫談 - 線程池,內存池,連接池……

池化技術 - 簡單點來說,就是提前保存大量的資源,以備不時之需,O(∩_∩)O,對於線程,內存,oracle的連接對象等等,這些都是資源,程序中當你創建一個線程或者在堆上申請一塊內存時,都涉及到很多系統調用,也是非常消耗CPU的,如果你

原创 C#中窗體之間的數據傳遞

對於窗體間的數據傳遞,是剛開始從事.Net窗體應用程序開發人員碰到的一個常見問題,在此講幾個常見的實現方式。此節內容適用於模式窗體或非模式窗體,部分方式延伸到一般類的操作。 (1)構造函數參數傳遞 通過構造函數傳遞參數應該是比較基本的參數

原创 馮.諾伊曼結構VS哈佛結構

馮.諾伊曼結構     1945年,馮.諾伊曼首先提出了“存儲程序”的概念和二進制原理,後來,人們把利用這種概念和原理設計的電子計算機系統統稱爲“馮.諾伊曼型結構”計算機。馮.諾伊曼結構的處理器使用同一個存儲器,經由同一個總線傳輸,如下

原创 一些軟件設計的原則

本文爲大家介紹軟件設計中的一些原則,都是經過長期經驗總結出來的知識,每一個程序員都應該瞭解,相信對大家在進行軟件設計的過程中會有很大幫助。 Don’t Repeat Yourself (DRY) DRY 是一個最簡單的法則,也是最容易

原创 內存泄露檢查

1.檢查內存分配與釋放是否有一一對應:       new   -> delete;      Malloc -> free;      GlobalAlloc  -> GlobalFree等 2.句柄泄露,如文件句柄,窗口句柄等。  

原创 Spy++使用(VC小工具)

Windows程序都是基於消息機制的,每個程序中都會有各種各樣的消息, 如果想通過消息來控制程序的運行,我們只用關心程序中的命令消息 (WM_COMMAND)就行了,其他關於程序界面等等的消息,可以不管。要查看程 序運行的消息,使用V

原创 GDI泄露檢測

方法一: 1、打開電腦的“任務管理器”; 2、選擇“進程”頁; 3、點擊菜單項的“查看”項,選擇“選擇列”; 4、對“GDI對象(J)”打上對號,即可。 此時,用戶就可以在進程中看到每個進程對應的GDI對象,每個進程的GDI對象(網頁瀏

原创 寫好代碼的十個要訣 -----林銳博士

軟件的質量屬性 魯棒 - Solid and Robust Code 簡潔 - Maintainable and Simple Code 高效 - Fast Code 簡短 - Small Code 共享 - Re-usable Code

原创 數據在計算機中的存儲形式和運算

一、數據概述 以C語言爲例,裏面所有的基本數據類型,都是以符合人類世界和自然世界的邏輯而出現的。比如說int,bool,float等等。這些數據類型出現的目的,是更於讓人容易理解,可以說,這些數據類型是架通人類思維 與 計算機的橋樑。 我

原创 VC++串口通信

Win 32系統把文件的概念進行了擴展。無論是文件、通信設備、命名管道、郵件槽、磁盤、還是控制檯,都是用API函數CreateFile來打開或創建的。該函數的聲明爲: HANDLE CreateFile( LPCTSTR lpFile

原创 DataSet、DataTable、DataRow、DataColumn區別及使用實例

DataSet就像一整個SQL數據庫. DataTable對應數據庫中的一個表 DataRow對應數據庫中的一行.. 他們是包含關係DataSet包含N多DataTable,DataTable又包含了N多DataRow 比如訪問數據庫中的

原创 程序員技術練級攻略

導讀:本文是由陳皓和他的一位朋友Mailper合作完成,原名叫《Build Your Programming Technical Skills》,本文分享了Mailper和作者個人的學習經歷。每個程序員都希望自己能順利的升級到高的層次,您

原创 站在巨人的肩膀上,C++開源庫大全

[-] 標準庫框架人工智能異步事件循環音頻生態學壓縮併發性容器密碼學數據庫調試遊戲引擎圖形用戶界面圖形圖像處理國際化Jason日誌機器學習數學多媒體網絡物理學機器人學科學計算腳本序列化視頻虛擬機Web應用框架XML多項混雜軟件編譯器在線編

原创 WinCE應用程序開機自動運行

一、開機自運行常規方法 近日在開發過程中遇到WinCE應用程序開機自動運行的問題,在網上找了找,發現大概有以下三種方法: 1、 將應用程序和應用程序快捷方式添加到映像裏,再將快捷方式添加到StartUp目錄下,這樣當系統運行後應用程序

原创 Windows Socket五種I/O模型——代碼全攻略

如果你想在Windows平臺上構建服務器應用,那麼I/O模型是你必須考慮的。Windows操作系統提供了選擇(Select)、異步選擇(WSAAsyncSelect)、事件選擇(WSAEventSelect)、重疊I/O(Overl