[問題] 如何修改函式庫內容

作者: hirofumisyo (Ami)   2018-12-20 10:03:53
開發平台(Platform): (Ex: Win10, Linux, ...)
Linux
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
gcc
問題(Question):
大家好,
我雖然玩過一陣子arduino,
但從來沒有編寫過函式庫的經驗,
對函式庫也沒有什麼概念。
以往覺得函示庫 == 標頭檔,
因為常常看書上說到現在使用的是標準函式庫,
要使用這個功能需先將標頭檔include近來,
一直不知道為什麼只要把.h檔放進來就可以使用.c檔裡的函數了,
後來才知道是編譯器自己會去特定位置幫你找函式庫或是對應.c檔的內容。
目前我在開發一個嵌入式的系統,
從makefile可以知道執行檔需要連結哪些函式庫,
若我想要更改某個.c檔裡的函式內容,
我應該要先知道這個函式庫用到了那些.c檔吧?
然後再把這個修改過的.c檔與其他沒修改過的一起重新編譯函式庫,
不知道這樣說的對不對。
如果是這樣的話有辦法知道一個函式庫裡包含了多少.c檔嗎?
剛剛看到有文章提到ldd這個指令可以解析函式庫裡有多少其他函式庫,
但好像不能解析出有用到多少c檔?
謝謝大家
餵入的資料(Input):
預期的正確結果(Expected Output):
錯誤結果(Wrong Output):
程式碼(Code):(請善用置底文網頁, 記得排版,禁止使用圖檔)
補充說明(Supplement):
作者: loadingN (sarsaparilla)   2018-12-20 21:01:00
不用知道有多少啊 看名稱不就知道它在幹嘛如果你習慣好一點 應該就是這樣
作者: tinlans ( )   2018-12-21 02:11:00
library 裡面包的是 .o 檔,.o 檔由 .c 檔生成。nm --print-file-name 可以看。
作者: BaJiaJhon (BaJiaJhon)   2018-12-29 02:47:00
如果是source就直接去撈吧是obj或archive就用objdump看看函式內有哪些symbol

Links booklink

Contact Us: admin [ a t ] ucptt.com