如何自动调用C源代码中的所有函数

时间:2013-07-29 17:58:04

标签: c linux code-generation automated-tests

您听说过自动C代码生成器吗?

我必须做一种奇怪的API功能研究,其中包括至少一次每次执行函数的尝试。它可能会导致粉碎,分段错误 - 无论如何。我只需要注册每个函数调用。

所以我使用

从源代码中获得了很长的列表(数百个)
ctags -x --c-kinds=f *.c

我可以使用任何工具生成调用每个工具的代码吗?非常感谢。

UPD :感谢您的所有答案。

2 个答案:

答案 0 :(得分:1)

也许像autoconf这样的东西可以帮助你:as described here。特别检查AC_CHECK_FUNCS。 Autoconf创建小程序来测试已注册函数的存在。

答案 1 :(得分:1)

您还可以考虑自定义GCC编译器,例如具有MELT扩展名(例如,在某些自定义编译期间会生成测试)。然后你甚至可以定义自己的#pragma__attribute__来参数化这些函数(启用它们的自动测试,给出测试的默认参数等)。

但是,我不确定这是单元测试的正确方法。有许多单元测试框架(但我不是很熟悉它们)。