Изменить определение внешней функции в объектном файле C ++ - PullRequest
0 голосов
/ 25 декабря 2018

У меня есть 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_.

Можно ли изменить это определение функции и вызов функции для foo2 () в main.o?Я использовал objcopy, но не могу понять, как изменить само определение внешней функции, скажем, на extern int foo2(double y, const std::string& z, std::string& w); и заменить символ.Может кто-нибудь помочь мне с этим?

Спасибо!

PS: я использую call (foo, list args) для вызова функции foo () из этого поста - Создание вызова функциидинамически в C ++

...