オブジェクトファイルを含む静的ライブラリがあります。あるオブジェクトファイルで呼び出され、別のオブジェクトファイルで定義されている関数をラップしたいのですが、オプションを使用してCの関数呼び出しを上書きするgcc --wrap
で提案された方法を使用しようとしています。
関数をオーバーライドしたいとしますgetnamei()
。wrap.Cファイルを作成して定義__wrap__getnamei()
し、それをコンパイルしてオブジェクトファイルを取得します。次に、--wrap
オプションを使用して関数をオーバーライドできますが、で実際の関数を呼び出そうとすると__real__getnamei()
、 wrap.C、「エラー:'__real__getnamei()はこのスコープで宣言されていません'」が表示されます。
MinGWを使用してWindows7で実行しています