3

自分のバージョンの同じ関数を使用するためにライブラリ関数の定義を解除する方法。同じファイルの他の関数のヘッダー ファイルを含める必要があることに注意してください。したがって、含めないことはオプションではありません。名前を変えずに使う方法はありますか?

4

3 に答える 3

5

次のことができます。

#define function_name function_name_orig
#include <library.h>
#undef function_name

int function_name() {
    /* ... */
}

この方法では、関数は に置き換えられるため、ヘッダーによって定義されませんfunction_name_origfunction_nameヘッダー ファイル内の getter または setter の実装は、それらの呼び出しも置き換えられるため、それらがを使用していても引き続き動作する可能性があります。

于 2013-07-12T13:01:34.180 に答える