您听说过自动C代码生成器吗?
我必须做一种奇怪的API功能研究,其中包括至少一次每次执行函数的尝试。它可能会导致粉碎,分段错误 - 无论如何。我只需要注册每个函数调用。
所以我使用
从源代码中获得了很长的列表(数百个)ctags -x --c-kinds=f *.c
我可以使用任何工具生成调用每个工具的代码吗?非常感谢。
UPD :感谢您的所有答案。
答案 0 :(得分:1)
也许像autoconf这样的东西可以帮助你:as described here。特别检查AC_CHECK_FUNCS。 Autoconf创建小程序来测试已注册函数的存在。
答案 1 :(得分:1)
您还可以考虑自定义GCC编译器,例如具有MELT扩展名(例如,在某些自定义编译期间会生成测试)。然后你甚至可以定义自己的#pragma
或__attribute__
来参数化这些函数(启用它们的自动测试,给出测试的默认参数等)。
但是,我不确定这是单元测试的正确方法。有许多单元测试框架(但我不是很熟悉它们)。