原创 #if、#ifdef、#if defined之間的區別

#if的使用說明 #if的後面接的是表達式 #if (MAX==10)||(MAX==20) code...#endif 它的作用是:如果(MAX==10)||(MAX==20)成立,那麼編譯器就會把其中的#if 與 #endif之間的代

原创 Bmp圖片解析

它採用位映射存儲格式,除了圖像深度可選以外,不採用其他任何壓縮,因此,BMP文件所佔用的空間很大。 1:BMP文件組成 BMP文件由 文件頭、位圖信

原创 字符編碼筆記:ASCII,Unicode 和 UTF-8

一、ASCII 碼 我們知道,計算機內部,所有信息最終都是一個二進制值。每一個二進制位(bit)有0和1兩種狀態,因此八個二進制位就可以組合出256種狀態,這被稱爲一個字節(byte)。也就是說,一個字節一共可以用來表示256種不同的

原创 qt常見快捷鍵

F1        查看幫助 F2        跳轉到函數定義(和Ctrl+鼠標左鍵一樣的效果) Shift+F2    聲明和定義之間切換 F4

原创 C++ 面向對象編程筆記

1.在 C++ 中,基類必須指出希望派生類重寫哪些函數,定義爲  virtual 的函數是基類期待派生類重新定義的,基類希望派生類繼承的函數不能定義爲虛函數。 2.在 C++ 中,通過基類的引用(或指針)調用虛函數時,發生動態綁定。引用(

原创 讀C陷阱與缺陷筆記

1.字符與字符串 (1)用單引號引起的一個字符實際上代表一個整數,整數值對應於該字符在編譯器採用的字符集中的序列值。 (2)用雙引號引起的字符串,代表的是一個指向無名數組起始字符的指針,該數組被雙引號之間的字符以及一個額外的二進制值爲零的

原创 Java使用POI生成EXCEL(.xlsx)心得

1.設計思路: 1.設定靜態表頭,包含表頭的內容與式樣 2.設計存儲表格內容的數據結構 3.先讀取表格內容存儲於設計好的數據結構中,在生成EXCEL的表頭,在依次根據表頭和數據填充表格 2.爲什麼用POI生成的EXCEL在Office下打

原创 iGerrit ssh配置

一.iGerrit登錄 二.本地ssh配置 1.如果沒生成過ssh key,請先在本機生成一個ssh key:ssh-keygen -t rsa 2.添加私鑰到ssh agent:ssh-add id_rsa 3.在本地的.ssh文件夾下

原创 Beyond Compare 4註冊碼

w4G-in5u3SH75RoB3VZIX8htiZgw4ELilwvPcHAIQWfwfXv5n0IHDp5hv 1BM3+H1XygMtiE0-JBgacjE9tz33sIh542EmsGs1yg638UxVfmWqNLqu- Zw9

原创 string/char[]/char* 是不是以'\0'結尾

1. const char* 字符串 以 “\0”結尾。 2. char[] 字符串 以 “\0”結尾。 3.string 字符串 不以 “\0”結尾。 4. char[n] = "string", 當string 長度+“\0”

原创 ubuntu 腳本 字符串截取時出現Bad substitution的解決辦法

腳本cutstr.sh的作用時截取www。 #/bin/bash mm="www.baidu.com" echo ${mm:0:3} 執行腳本方式不同出現的結果不同: 方式1、sh cutstr.sh 結果:Bad su

原创 void* 轉 int

int a = 5; int b; void* p = &a; b = *(int*)p;

原创 Socket網絡編程

Socket編程 套接字概念 Socket本身有“插座”的意思,在Linux環境下,用於表示進程間網絡通信的特殊文件類型。本質爲內核藉助緩衝區形成的僞文件。 既然是文件,那麼理所當然的,我們可以使用文件描

原创 寫一個簡單的makefile

一個簡單的Makefile教程 Makefiles是組織代碼編譯的一種簡單方法。本教程甚至沒有描述使用make的可能性, 而是作爲初學者指南,以便您可以快速輕鬆地爲中小型項目創建自己的makefile。

原创 Ubuntu系統make降級版本

1、下載目標make源碼: http://ftp.gnu.org/gnu/make/ 2、解壓make源碼到隨便一個目錄:tar -xjvf make-3.81.tar.bz2  3、進入make-3.81目錄        執行:./