我想要达到的目标
在编译时,编译器知道函数调用是有效的,因为您包含了 iostream 头文件,但由于该函数不是 cpp 文件的一部分,编译器只是在调用站点留下一个存根 。链接器遍历目标文件,对于每个存根,它会找到正确的函数地址,并用来自被链接的其他目标文件之一的正确地址替换存根。作者:ALEX ALLAN,跳到 C++
在“存根”上方,我想在真实的目标文件中看到。
我做了如下,
代码 //main.cpp
#include "f.h"
using namespace std;
int main()
{
myfunc();
return 0;
}
//f.cpp
#include "f.h"
void myfunc()
{
}
//f.h
#ifndef F_H_INCLUDED
#define F_H_INCLUDED
void myfunc();
#endif // F_H_INCLUDED
以上 3 在单独的文件中。
我在 main.o 上使用的 objdump 命令
C:\Users\User\Downloads\binutils-2.22-1-mingw32-bin.tar\binutils-2.22-1-mingw32-
bin\bin>objdump.exe -S -C C:\Users\User\Documents\myC++\testFuncstabs\obj\Debug\
main.o
但是现在我被困在这个输出中为 myFunc 找到“存根”?
有人可以帮我吗?或建议我实现这一目标的另一种策略?