gcc
1、乙個c/c++檔案的編譯過程,經過
預處理(preprocessing) -> 編譯(compilation) -> 彙編(assembly) -> 鏈結(linking)
. 檔案 -> .s 檔案 -> .o 檔案 -> 可執行檔案
示例:(1)預處理,生成預編譯檔案 ( . 檔案)
gcc -e hello.c -o hello.i
(2)編譯,生成彙編** ( .s 檔案)
gcc -s hello.i -o hello.s
(3)彙編,生成目標檔案 (.o 檔案)
gcc -c hello.s -o hello.o
(4)鏈結,生成可執行檔案
gcc hello.o -o hello
一步到位 :gcc hello.c -o hello
2、編譯選項
常用選項
-v 檢視gcc編譯器的版本,顯示gcc執行時的詳細過程
-o 指定輸出檔名為file
-e 只預處理,不編譯、彙編、鏈結
-s 只編譯,不會彙編和鏈結
-c 編譯和彙編,不會鏈結
-g 編譯[debug]版本 gcc hello.c -g -o hello
-o1/o2/o3 編譯[優化]
3、q2:如果 hello 需要使用 libpthread.so 中的函式?
q3:如果 hello 需要使用 /home/lib 中的 libtest.so 中的函式?
a1:
gcc hello.c -o hello -i..
編譯選項 -i : 指定後面的路徑為優先尋找標頭檔案的目錄路徑
a2:
gcc hello.c -o hello -i.. -lpthread
編譯選項 -l (-lpthread) : 尋找動態鏈結庫檔案libpthread.so(也就是檔名去掉字首和字尾所代表的庫檔案,即指定 庫 的名稱)
a3:
gcc hello.c -o hello -i.. -l/home/lib -ltest
編譯選項 -l : 指定 庫的路徑
c編譯整理
1.測試 main.c include hello.h int main void hello.h ifndef hello h define hello h void hello const char name endif hello.c includevoid hello const char ...
整理 DC相關
驗證 1.寫個測試程式,在螢幕上圈選乙個區域,把這個區域的公釐尺寸報出來.2.寫個螢幕標尺,使用者隨意在螢幕上標註兩點,報出這條線的公釐尺寸.要顯示出標尺的外形.codeproject上有這種資料,先找一下.預期的實現 程式執行後為托盤,測量按鈕在懸浮窗內.懸浮窗半透明,位圖背景,位圖按鈕.卡尺的左...
NSDateFormatter相關整理
formatter譯為格式,相應的nsdateformatter就相當於是nsdate的轉換類,將nsdate轉換為另一種格式,或轉換回來。nsdate沒有自己的輸出,需要借助nsdateformatter以相應格式輸出。這差不多就是nsdateformatter的作用了吧。常用的方法並不複雜,幾條...