Jex’s Note

C/c++ 相關

Basic

  • int = 4 bytes
  • double = 8 bytes
  • char = 1 byte
  • 1 char 存的是 ASCII 數字

一般說來,我們編譯安裝一個由GNU Autoconf 配置的程序是採用如下的步驟:

./configure && make && make install

這個configure 腳本文件是用來“猜”出一系列系統相關的變量,這些變量是在後面的編譯過程要用到的。它將檢查系統變量值是否滿足編譯要求,然後使用這些變量在程序包內每個文件夾下生 成Makefile。此外,configure 腳本還會生成其它文件: 每個文件夾/子文件夾下的一個或多個Makefile(s) 一個名叫config.status 的腳本 一個文本文件config.log Configure 腳本文件成功運行之後, 你會輸入make 來編譯程序,得到你需要的可執行文件。如果make 成功的完成,你可以使用make install 來安裝這個程序。

ref : http://www.ibm.com/developerworks/cn/linux/l-cn-checkinstall/

c include path

在 GCC 編譯下 C header 的 #include <stdio.h> 預設會到以下4個路徑去找(非絕對, 不同系統有不同的路徑)

  • /usr/local/include
  • libdir/gcc/target/version/include
  • /usr/target/include
  • /usr/include
  • /usr/local/lib

也可以加上 -I dir 選項指定搜尋的路徑

gcc -I /usr/local/include/qq

.c .h Makefile

  • 函數定義放在 .c, 不要放在 .h, .c 是定義變數及實作函數
  • .h 只做宣告(變數、函數宣告)
  • .c 使用 #include 將 .h 引入
  • 一個 .c 最好對應一個 .h
  • 對編譯器來看 .c 及 .h 是一樣的, 只是分開寫會可以培養較好的 coding 習慣

Comments