在C ++目标文件中更改外部函数定义

时间:2018-12-25 19:22:09

标签: c++ compilation linker

我有一个main.cpp,它调用一个外部函数foo()。 extern int foo(int x, double y, const std::string& z, std::string& w);在main.cpp中声明。另外,我能够生成一个目标文件main.o。使用nm将显示以下签名U _Z3fooidRKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS4_

是否可以在main.o中修改此函数定义和对foo2()的函数调用?我使用了objcopy,但似乎无法弄清楚如何将外部函数定义本身更改为extern int foo2(double y, const std::string& z, std::string& w);并替换符号。有人可以帮我吗?

谢谢!

PS:我正在使用call(foo,list args)从当前帖子中调用foo()-Create function call dynamically in C++

0 个答案:

没有答案