0

我有一个包含目标文件的静态库,我想包装一个在一个目标文件中调用并在另一个目标文件中定义的函数,我正在尝试使用使用选项覆盖 C 中的函数调用中gcc --wrap建议的方法。

假设我想覆盖一个函数getnamei(),我创建了一个 wrap.C 文件并定义__wrap__getnamei(),然后编译它以获得一个目标文件,然后使用--wrap选项我可以覆盖该函数,但是当我尝试使用 in 调用真正的函数__real__getnamei()时wrap.C,我得到“错误:'__real__getnamei() 未在此范围内声明'”。

我在 Windows 7 上运行,使用 MinGW

4

1 回答 1

0

我想通了,在 wrap.C 中我们需要添加一个函数声明extern "C" __real__getnamei(),然后一切正常!!

于 2013-03-27T10:03:26.103 回答