原创 VC中sizeof的主要用法

  1、 sizeof應用在結構上的情況 請看下面的結構: struct MyStruct { double dda1; char dda; int

原创 Linux ELF

  ELF = Executable and Linkable Format,可執行連接格式,是UNIX系統實驗室(USL)作爲應用程序二進制接口(Application Binary Interface,ABI)而開發和發佈的。擴展名

原创 C語言與C++中中編譯預處理的學習記錄

  首先三種形式的命令:宏定義,文件包含,條件編譯命令。 1、宏定義主要是:#define,#undef 如下: #define PI 3.1415

原创 c/c++語言變量聲明內存分配

 一個由c/C++編譯的程序佔用的內存分爲以下幾個部分 1、棧區(stack)— 程序運行時由編譯器自動分配,存放函數的參數值,局部變量的值等。其操

原创 pragma詳解

 #pragma詳解(一) 在#Pragma是預處理指令它的作用是設定編譯器的狀態或者是指示編譯器完成一些特定的動作。#pragma指令對每個編譯器

原创 __declspec(dllimport)和__declspec(dllexport)的區別,以及有關c/c++調用約定

 DLL可以使用兩種方法將公共符號導入到應用程序中或從 DLL 導出函數:  生成 DLL 時使用模塊定義 (.DEF) 文件。  在主應用程序的函

原创 What's stdcall, cdecl, etc....

 int function(int a,int b) 調用時只要用result = function(1,2)這樣的方式就可以使用這個函數。但是,當

原创 通過一段彙編,加深對寄存器ESP和EBP的理解

 一直對寄存器ESP和EBP的概念總是有些混淆,查看定義ESP是棧頂指針,EBP是存取堆棧指針。還是不能很透徹理解。之後借於一段彙編代碼,總算是對兩

原创 EIP、ESP、EBP

  1.EIP 2.ESP 3.EBP 1.EIP寄存器裏存儲的是CPU下次要執行的指令的地址。 也就是調用完fun函數後,讓CPU知道應該執行ma

原创 在代碼中使用 _declspec(dllimport) 和 _declspec(dllexport)

  http://support.microsoft.com/kb/132044

原创 寬字符

  Unicode或者寬字符都沒有改變char數據型態在C中的含義。char繼續表示1個字節的儲存空間,sizeof (char)繼續返回1。理論上,C中1個字節可比8位長,但對我們大多數人來說,1個字節(也就是

原创 COFF

  COFF 2007年07月17日 星期二 下午 4:47 COFF – 通用對象文件格式(Common Object File Format),是一種很流行的對象文件格式(注意:這裏不說它是“目標”

原创 volatile

volatile的作用  volatile的作用: 作爲指令關鍵字,確保本條指令不會因編譯器的優化而省略,且要求每次直接讀值.   簡單地說就是防止編譯器對代碼進行優化.比如如下程序:   XBYTE[2]=0x55;   XBYT

原创 通往WinDbg的捷徑(一)

 通往WinDbg的捷徑(一) 原文:http://www.debuginfo.com/articles/easywindbg.html 譯者:arhat 時間:2006年4月13日 關鍵詞:CDB WinDbg 導言 你鍾情什麼樣的調

原创 GetCurrentDirectory、SetCurrentDirectory和GetModuleFileName

DWORD GetCurrentDirectory(   DWORD nBufferLength, // size of directory buffer   LPTSTR lpBuffer      // directory buffe