我正在構建一個構建多個共享庫和可執行文件的項目。所有用於構建這些二進制文件的源文件都位於單個/ src目錄中。因此,找出哪些源文件用於構建每個二進制文件(存在多對多關係)並不明顯。如何找出用於構建二進制文件的* .c和* .h文件?
我的目標是編寫一個腳本來解析每個二進制文件的一組C文件,並確保只從它們調用正確的函數。
一個選項似乎是試圖從Makefile中提取這些信息。但是這對於生成的文件和標題(由於依賴於包含)而不起作用。
另一種方法是簡單瀏覽調用圖,但這會變得複雜,因爲很多函數都是通過函數指針調用的。
還有其他想法嗎?
只是出於好奇:你爲什麼試圖這樣做? – stefan
分發包機制知道所有依賴關係... –
您是否確切地定義了「正確的函數被調用」的含義?這並不明顯,並不簡單。 –