我需要你的建议来包装我现有的功能。
我来自测试团队,我需要编写单元测试用例,所以我不想依赖原始定义,所以尝试编写我自己的定义。
以下是不应更改的源代码。
来源.c:
#include <stdio.h>
const char *getObjectName (int *anObject);
void func()
{
int *p;
getObjectName(p);
}
const char *getObjectName (int *anObject)
{
printf("i am in original\n");
}
从上面的代码我想换行getObjectName()
函数,以便我可以给出自己的定义。
我用谷歌搜索了很多并尝试了以下方法但没有成功:
- 方法1.使用ld --wrap方法 https://stackoverflow.com/questions/43183060/how-to-wrap-existing-function-in-c
- 方法2.使用-DINTERCEPT https://stackoverflow.com/a/617559/4665936
- 方法3.使用函数指针 https://stackoverflow.com/a/617576/4665936
我无法使用上述 3 种方法,因为调用函数和被调用函数位于同一个文件中。
所以请建议我任何其他方法来编写我自己的定义getObjectName()
.
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)