libpcap/tcpdump—6—交叉編譯

我使用海思編譯鏈,gcc分別是:arm-hisiv300-linux-gccarm-himix200-linux-gcc。和其他工具類似,先configure,再make。

1、libpcap:

1、configure:

./configure --disable-usb --disable-bluetooth --host=arm-himix200-linux

如上所示爲配置方法,編譯鏈爲arm-himix200-linux-gcc,配置的時候要去掉"-gcc"這4各字符,不然編譯錯誤。根據./configure -h的提示可以減去一些功能,可以減小工具大小。libpcap是核心,根本都在這裏,而非tcpdump。

2、make:

直接make clean;make即可,很正常,如果剛一執行就報錯,那有可能和arm-himix200-linux-gcc一樣,需要先配置一下環境,執行:export LC_ALL=C,再執行make clean;make.arm-hisiv300-linux-gcc則不需要此操作,也許和編譯工具的製作有關吧。

2、tcpdump

和libpcap相同,先configure再make。

結語

libpcap的代碼涉及一些內核內存邏輯,我不太熟悉,就不寫了。整體邏輯是:create-->active-->loop,這篇文章列出的接口都狠重要。可以深入研究一下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章