原创 C++設計模式之AbstractFactory

一、功能 提供一個創建一系列相關或相互依賴對象的接口,而無需指定它們具體的類。(個人粗淺理解:即提供一個類的接口,然後可以創建多個類的對象) 二、結構圖 三、優缺點 優點:(1)封裝創建對象過程。客戶不用知道類廠是如何創建類實例

原创 Excel操作Bug引出的問題:如何判斷文件是否被佔用、打開

方法一:_sopen() :具體函數描述sopen() int _sopen(const char *filename, int oflag, int shflag [, int pmode ]); 參數:filename

原创 C++ 設計模式之Adaptor

一、Adapter功能 將一個類的接口(待匹配接口)轉換成客戶希望的另外一個接口(目標接口),解決兩個已有接口之間不匹配的問題。Adapter模式使得原本由於接口不兼容而不能一起工作的那些類可以一起工作。 實質上過程是adaptee(待匹

原创 BCB之OLE方式操作Excel

開頭 最近遇到一些項目需要生成Excel表格,於是在網上搜索了一些資料加上自己的不斷摸索,終於寫出些代碼可以生成和操作Excel文檔了,代碼在BCB XE2編譯運行正常,直接上代碼吧。 需要的頭文件: #include "Com

原创 C++設計模式之Singleton

一、功能 保證一個類只能產生一個實例。 二、結構圖 暫無 三、優缺點  Singleton模式是做爲”全局變量”的替代品出現的。所以它具有全局變量的特點:全局可見、貫穿應用程序的整個生命期,它也具有全局變量不具備的性質:同類型的對

原创 C++ 虛函數

本文轉自http://blog.csdn.net/haoel/article/details/1948051/ 本篇博文轉自大牛陳皓的博客,是目前看到的對C++虛函數講解比較詳細的文章之一,所以轉載一下學習學習。 另外還有兩篇也寫的很好

原创 C++ 內核對象

轉自http://www.cnblogs.com/Adon/archive/2009/10/11/1580784.html 1. 內核對象概述內核對象是操作系統的基礎,系統內部的內核對象有:令牌(token)、事件(event)、文件(

原创 C++的三種訪問權限與三種繼承方式

轉自[陽光日誌]的博客《C++的三種訪問權限與三種繼承方式》 三種訪問權限 我們知道C++中的類,有三種訪問權限(也稱作訪問控制),它們分別是public、protected、private。要理解它們其實也很容易,看下面了一個例子。

原创 C++進程間通信---自定義消息

在windows中消息分爲兩種,即系統消息和用戶自定義消息,系統消息定義從0到0x3ff,可以使用0x400到0x7fff定義自己的消息。windows把0x400定義爲WM_USER,如果想定義自己的一個消息,可以在WM_USER上加上

原创 Linux信號量詳解

本篇文章轉自http://blog.csdn.net/qinxiongxu/article/details/7830537 信號量 一.什麼是信號量 信號量的使用主要是用來保護共享資源,使得資源在一個時刻只有一個進程(線程) 所擁有

原创 關於CreateThread()的幾點疑惑

一、爲什麼要特意去CloseHandle()? 線程中止運行後,線程對象仍然在系統中,必須通過CloseHandle函數來關閉該線程對象。CloseHandle函數的原型是: BOOL CloseHandle( HANDLE hObjec

原创 C語言中printf(),sprintf(),scanf(),sscanf()的用法和區別

轉 printf 語法: #include <stdio.h> int printf( const char *format, ... ); printf()函數根據format(格式)給出的格式打印輸出到STDOUT(標準輸出)和其它參

原创 各硬件設備在Linux中的文件名、磁盤分區

在Linux系統中,每個設備都被當做一個文件來對待,幾乎所有的硬件設備文件都在/dev這個目錄內。 1、以下列舉幾個典型設備的文件名: 設備 設備在Linux內的文件名 IDE硬盤 /dev/hd[a-d] SCSI/ST

原创 C++多線程同步之臨界區(CriticalSection)

一、Win32平臺 1、相關頭文件和接口 #include <windows.h> CRITICAL_SECTION cs;//定義臨界區對象 InitializeCriticalSection(&cs);//初始化臨界區 EnterC

原创 C++互斥鎖 臨界區 信號量 事件的區別總結

轉自http://blog.csdn.net/anddy926/article/details/7828173 四種進程或線程同步互斥的控制方法 1、臨界區CriticalSection: 通過對多線程的串行化來訪問公共資源或一段代碼,