我在Linux中有一個二進制文件,我想知道它已經編譯了哪些函數。如何知道可執行文件中有哪些功能?
我的項目由幾個對象文件組成,每個對象文件包含不同的功能。有時我不知道我編譯可執行文件的是哪一個。我怎麼知道?
我正在用不同的體系結構(arm,mips ...)編譯工具鏈。
謝謝。
我在Linux中有一個二進制文件,我想知道它已經編譯了哪些函數。如何知道可執行文件中有哪些功能?
我的項目由幾個對象文件組成,每個對象文件包含不同的功能。有時我不知道我編譯可執行文件的是哪一個。我怎麼知道?
我正在用不同的體系結構(arm,mips ...)編譯工具鏈。
謝謝。
'nm'已被提及,您也可以嘗試'objdump','readelf'(如果可用)。你甚至可以通過'grep'來找出函數是否存在,如果'foo'是一個符號存在,當你執行'grep foo helloworld.o'時,你會得到一個類似'Binary file helloworld.o matches'的消息。 – 2012-02-17 11:52:06
謝謝,最後readelf -s和objdump -T做到了! – fazineroso 2012-02-17 12:22:37
['objdump'](http://linux.die.net/man/1/objdump) – tMC 2012-02-17 18:28:00