0

アプリケーション内のすべての.aファイルのnm出力を含むファイルがあります。ここで、指定された関数を含む.aを見つけるにはどうすればよいですか。

私はBashスクリプトに長けており、Perlにかなり精通しており、PythonとRubyを実行できます。

これを行うために使用できるスクリプト言語に関する提案はありますか?

質問の更新:次のコマンドで作成したファイルがあります。

$ find . -name '*'.a > afile_list.log
$ while read line; do echo "$line"; nm $line; done < ./afile_list.log > a_list.log

これで、コードベースに関数fun1()があります。どの.aにこの機能が含まれているのかを知るにはどうすればよいですか?

4

2 に答える 2

2

このnmコマンドには、その情報を出力に出力するオプションがあります。これにより、追跡が簡単になります。このオプションには、統一性を説明するPOSIXnm -Aに準拠した、Linux、Mac OS X、およびSolaris(HP-UXおよびAIXはチェックされていません)のライブラリ名とメンバーオブジェクトファイル名が含まれます。一部のプラットフォームで同様のタスクを実行する他のオプションがあります。たとえば、Solarisの場合。nmnm -R

于 2012-10-14T02:48:40.247 に答える
0

bashはこれを行うことができます。ループを使用しwhile readて、アーカイブ名が検出されるたびにファイルを1行ずつ読み取り、目的の関数が見つかったときに保存されている最後のアーカイブ名を出力します。

于 2012-10-14T01:50:18.517 に答える