原创 探究VC下的_T(""),發現:雙字節字符/多字節字符是以小端存儲的(至少是在VC2013環境下)

從VC6.0過渡到VS2013的程序員應該都會對字符的表現形式感到困惑,每每都要使用_T(""),才能如願地顯示字符。 其實_T("")是一個宏,起一個兼容的作用,使編譯器採用默認的字符集形式(Ansi或Unicode)編譯字符串。 在

原创 請儘量不要爲全局變量賦不必要的初值!

我知道“不要爲全局變量賦初值”,完全不符合大多數人遵循的編碼規範。 所以此文只是一個建議,主要針對單片機工程師,因爲單片機的ROM比較寶貴。如果你不理解爲何要這樣建議,請往下看。 1.具體示例 先給出幾段示例代碼。 // sizetest

原创 有關VC++的一些外文鏈接

Use of "Stdafx.h"

原创 DesignPatterns_Visitor

//////////////////////////////////////////////////////////////////////////////////// // Visitor pattern // - Represent

原创 通過異或交換變量的數值

通過異或交換變量的數值,最我最爲推薦的swap方法,相比 借用第三變量,“temp = a; a = b; b = temp” , 異或交換 更有效率! 利用加減法,“a = a + b; b = a - b;  a = a - b”,

原创 Win32串口通訊函數PurgeComm不能清接收緩衝區的問題

這兩天在做串口通訊上位機的開發,遇到了一個比較棘手的問題。使用Win32函數PurgeComm始終不能成功清除接收緩衝區中的數據,老是接收到不需要的數據。 剛開始,我以爲是我的串口配置出了問題,檢查了一遍,沒發現什麼問題。 然後,就開

原创 DesignPatterns_Iterator

///////////////////////////////////////////////////////////////////////////////////////// // Iterator // - Provide a wa

原创 讀取PBOC電子現金指令流

該指令流僅適用於T=0協議卡片.   終端對IC卡的響應: 60 需要額外的工作等待時間,說明IC卡端數據還未處理好. 61 發送GET RESPONSE命令取應答數據 6C 加上取字節數,命令重發   依照其類型,文件可能通過文件名和

原创 DesignPatterns_TemplateMethod

//////////////////////////////////////////////////////////////////////////// // Template Method pattern // - Define the

原创 看看GNU編譯器都生成了什麼樣的彙編代碼

平時工作中有接觸到彙編,一時興起,就想看看GNU的編譯器生成的彙編代碼是什麼樣的。 1. 生成彙編代碼 我寫了一個非常簡單的C語言代碼,如下 int add(int a, int b); int max(int a, int b);

原创 AT&T Assembly Language Samples

1. Simple Samples 1.1 cpuid.s #cpuid.s Sample program to extract the processor Vendor ID # - cpuid instruction code is

原创 DesignPatterns_Interpreter

/////////////////////////////////////////////////////////////////////////////////////// // Interpreter pattern // - Giv

原创 DesignPatterns_Strategy

///////////////////////////////////////////////////////////////////////////// // Strategy pattern // - Define a family

原创 參數值的傳遞不是函數的任務!

參數值的傳遞不是函數的任務!函數名僅僅標示着一段執行代碼的地址!爲了說明這個事實,我定義了一個簡單的max函數,返回最大值 int max(int a, int b) 然後定義了一個(沒有參數,返回值爲整型的)函數指針指向max函數。 採

原创 DesignPatterns_Observer

/////////////////////////////////////////////////////////////////////////////// // Observer pattern // - Define a one-t