相关疑难解决方法(0)

假/模拟非虚拟C++方法

众所周知,在C++中,模拟/伪造非虚拟方法进行测试很难.例如,googlemock的cookbook有两个建议 - 两者都意味着以某种方式修改原始源代码(模板化和重写为界面).

对于C++代码来说,这似乎是一个非常糟糕的问题.如果你不能修改需要伪造/嘲笑的原始代码,怎么办才能做得最好?复制整个代码/类(用它整个基类层次结构?)

c++ testing mocking

21
推荐指数
4
解决办法
6496
查看次数

在运行时动态修改符号表(在C中)

是否可以在运行时用C动态修改符号表(在Linux上以elf格式)?

我最终的目标是:

在某些函数内部说foo,我想覆盖malloc我的自定义处理程序的函数my_malloc.但在外面foo,任何人malloc都应该像glibc一样调用malloc.

注意:这与在整个程序执行期间LD_PRELOAD覆盖的不同malloc.

symbols elf ld-preload

7
推荐指数
1
解决办法
1005
查看次数

标签 统计

c++ ×1

elf ×1

ld-preload ×1

mocking ×1

symbols ×1

testing ×1