PIXNET Logo登入

Welkin小窩

跳到主文

柴米油鹽的平淡生活

部落格全站分類:不設分類

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 6月 05 週五 201517:18
  • 除錯工具 gdb (The GNU Project Debugger)

除錯工具 gdb (The GNU Project Debugger)
--------------------------------------------------
為了除錯,必須在編譯軟體時加上 -g 參數才能讓 gcc 在編譯程式時,將除錯資訊加到程式裡。
另外 strip 指令為清除應用程式裡的除錯資訊,所以要檢查 makefiel 中是否有執行 strip。
(繼續閱讀...)
文章標籤

BB 發表在 痞客邦 留言(0) 人氣(13,802)

  • 個人分類:GNU C
▲top
  • 8月 28 週四 201413:03
  • NAKEFILE 的 GCC 參數指令

 
 

[option]
interpretation


-c
只做編譯(不做連結)


-S
輸出組譯碼


-E
將預處理結果顯示


-o filename
指定輸出檔名


-ansi
程式要求依據ansi c標準


-Dmacro
使定義巨集(macro)為有效


-Dmacro=defn  
使定義巨集(macro)為defn


-Wa, option
將選項(option)傳給組譯器


-wl, option
將選項(option)傳給連結器


-I
追加include檔案的搜尋路徑


-L
追加library檔案的搜尋路徑


-l
指定連結的函式庫


-Wall
顯示所以的警告訊息


-g
編入除錯訊息(要使用GDB除錯一定要加)


-O2
做最佳化

(繼續閱讀...)
文章標籤

BB 發表在 痞客邦 留言(0) 人氣(588)

  • 個人分類:GNU C
▲top
  • 8月 22 週五 201411:05
  • What's the difference between := and = in Makefile?

 
Variables defined with ‘=’ are recursively expanded variables.
Variables defined with ‘:=’ or ‘::=’ are simply expanded variables.
(Both forms are equivalent in GNU make; however only the ‘::=’ form is described by the POSIX standard.)
(繼續閱讀...)
文章標籤

BB 發表在 痞客邦 留言(0) 人氣(112)

  • 個人分類:GNU C
▲top
  • 5月 30 週四 201319:25
  • 二進位實用程式 (objdump readelf ar nm)

二進位實用程式(objdump, readelf,ar, nm等)
as (assembler)
組譯器,當程式經過編譯器後,輸出的是組合語言,還需要經過組譯器把組合語言轉換成機械語言,通常輸出結果為目的檔(object file)。
ld (Linker)
連結器,把一隻程式所有的目的檔及其所需要的系統函式庫都連結起來,才會產生出一個完整可執行的程式檔。
(繼續閱讀...)
文章標籤

BB 發表在 痞客邦 留言(0) 人氣(2,540)

  • 個人分類:GNU C
▲top
  • 4月 06 週五 201211:25
  • makefile sample ~ continue...

#-------------------------------------------------------------------------------
#===================
# GCC
#===================
#處理編譯任務時,分成下面4個步驟:
(繼續閱讀...)
文章標籤

BB 發表在 痞客邦 留言(0) 人氣(1,767)

  • 個人分類:GNU C
▲top
  • 2月 22 週三 201218:56
  • pragma 表示什麼意思呢

C-lanugage的可攜性是公認的, 可以跨平台執行.

所以各平台之間的compiler應該儘可能的符合可攜性的要求.

但是為了提高執行效率, 符合各平台的機器特徵做一些特殊動作, 例如撰寫組合語言, 使用co-processor, 使用特殊記憶體配置, 使用特殊的compiler能力...等等會使用到#pragma 的語法以達到目的而又不影響沒有這些能力的平台或compile的編譯.
(繼續閱讀...)
文章標籤

BB 發表在 痞客邦 留言(0) 人氣(6,643)

  • 個人分類:GNU C
▲top
  • 2月 22 週三 201216:12
  • 如何寫作makefile

如何寫作makefile
在Unix系統上編譯tarball時,通常需要三步驟:
./configure
make
make install
(繼續閱讀...)
文章標籤

BB 發表在 痞客邦 留言(0) 人氣(10,020)

  • 個人分類:GNU C
▲top
  • 2月 20 週一 201210:11
  • Makefile (VPATH及PHONY)

在一些大的工程中,有大量的源文件,我們通常的做法是把這許多的源文件分類,並存放在不同的目錄中。所以,當make需要去找尋文件的依賴關係時,你可以在文件前加上路徑,但最好的方法是把一個路徑告訴make,讓make在自動去找。
Makefile文件中的特殊變量「VPATH」就是完成這個功能的,如果沒有指明這個變量,make只會在當前的目錄中去找尋依賴文件和目標文件。如果定義了這個變量,那麼,make就會在當當前目錄找不到的情況下,到所指定的目錄中去找尋文件了。
VPATH = src:../headers
上面的的定義指定兩個目錄,「src」和「../headers」,make會按照這個順序進行搜索。目錄由「冒號」分隔。(當然,當前目錄永遠是最高優先搜索的地方)
另一個設置文件搜索路徑的方法是使用make的「vpath」關鍵字(注意,它是全小寫的),這不是變量,這是一個make的關鍵字,這和上面提到的那個VPATH變量很類似,但是它更為靈活。它可以指定不同的文件在不同的搜索目錄中。這是一個很靈活的功能。它的使用方法有三種:
(繼續閱讀...)
文章標籤

BB 發表在 痞客邦 留言(0) 人氣(682)

  • 個人分類:GNU C
▲top
  • 2月 17 週五 201211:56
  • make makefile

(1).make 命令在執行的時候按順序查找名爲(GNUmakefile),(makefile)和(Makefile)的文件進行編譯。在 Makefile 中注釋以(#)開始。

(2).在編寫 Makefile 常用的目標名:
如用 make clean,
目標(clean)一般用於清除編譯過程中的中間文件;
(繼續閱讀...)
文章標籤

BB 發表在 痞客邦 留言(0) 人氣(944)

  • 個人分類:GNU C
▲top
  • 2月 17 週五 201211:44
  • Make sample

Project Architecture
專案架構
因為我下面的介紹,打算舉一個夠大的程式作例子,然後把所需要的 makefile 列出來,再一一講解,所以,先了解一下我是如何安排整個程式的架構會大有幫助;當然,這邊說的架構,並不是程式的內容,而是檔案、目錄的管理而已。
首先,整個專案會產生一個執行檔稱為 shape ,而 shape 會用到六個函式庫,其中有一個稱為 rbfshape 的函式庫也在這個專案中,也就是說,整個程式會產生兩個二進位檔;下面以 %ProMat% 代表專案所在的目錄,那麼 shape 的原始碼都放在 %ProMat%/shape 目錄下,同理, rbfshape 則放在 %ProMat%/rbfshape 下,產生的目的檔會放在跟程式檔放在同樣的目錄,例如 %ProMat%/shape/shape.cpp 會產生 %ProMat%/shape/shape.o 這個目的檔;在連結成功後,會再複製一份二進位檔(也就是 shape 的執行檔和 rbfshape 的函式庫)到 %ProMat%/bin 下;而 rbfshape 因為是個函式庫,所以會多產生一個標頭檔供別人引入,並複製一份到 %ProMat%/bin 下。所以就目前來講,整個目錄結構如下
ProMat
(繼續閱讀...)
文章標籤

BB 發表在 痞客邦 留言(0) 人氣(163)

  • 個人分類:GNU C
▲top
12»

文章分類

toggle 生活集錦 (3)
  • 影音歌詞 (17)
  • 生活其它 (4)
  • 媽媽寶寶 (25)
toggle SYSTEM (8)
  • Linux-Pre (9)
  • Yocto (1)
  • Linux System (20)
  • Embedded (19)
  • Linux Kernel (24)
  • Ubuntu Manage (8)
  • Linux Debug & Trace (2)
  • Android (21)
toggle Programing (3)
  • Trace&Debug (11)
  • GNU C (12)
  • Programing C & C++ (22)
toggle MultiMedia (3)
  • Video (20)
  • FFmpeg (14)
  • mplayer (13)
toggle Computer (3)
  • 系統安裝 (5)
  • 常見問題 (10)
  • 電腦基礎 (3)
  • 未分類文章 (1)

文章搜尋

個人資訊

BB
暱稱:
BB
分類:
不設分類
好友:
累積中
地區:

參觀人氣

  • 本日人氣:
  • 累積人氣:

Scotch甜蜜貼紙