我读过链接器“-wrap”标志,仅适用于未定义的符号。这会导致它无法在同一文件中正常调用函数。
有没有办法让“-wrap”对已知符号起作用?或者导致编译器将特定/所有符号标记为未定义(尽管它们在同一个文件中)?
由于评论而编辑:
例如:
我希望对函数 foo() 的每次调用都转到 __wrap_foo 。因此,我将标志 -Wl,-wrap,foo 添加到链接器中。如果 foo 是从与定义它的文件不同的文件中调用的 - 它工作正常。但是,如果从同一个文件中调用它 - 不会调用包装器
我读过链接器“-wrap”标志,仅适用于未定义的符号。这会导致它无法在同一文件中正常调用函数。
有没有办法让“-wrap”对已知符号起作用?或者导致编译器将特定/所有符号标记为未定义(尽管它们在同一个文件中)?
由于评论而编辑:
例如:
我希望对函数 foo() 的每次调用都转到 __wrap_foo 。因此,我将标志 -Wl,-wrap,foo 添加到链接器中。如果 foo 是从与定义它的文件不同的文件中调用的 - 它工作正常。但是,如果从同一个文件中调用它 - 不会调用包装器