[问题] 如何修改函式库内容

楼主: 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