如何在 C 中调用另一个已编译的 *.o 目标文件中的函数

How to call the functions in another compiled *.o object files in C

我得到了几个*.o文件,里面定义了函数,以后可以作为库使用。我需要对这些功能进行单元测试。

我在我的测试环境(Eclipse、Linux、Google 测试)中 link 编辑了那些 *.o 文件,所以,我的问题是:

  1. 我是否需要进行任何其他额外配置才能测试这些功能?
  2. 如何查看函数名称和参数?或者我需要问开发这个库的开发人员?
  3. 如何调用那些 *.o 目标文件中的函数?我是否需要先将它们 link 放入静态库或动态库中?但是我没有权限访问那些源代码。

非常感谢。

如果您没有目标文件的头文件,您需要撤消它们的导出并自己创建头文件。从那时起,您可以在您的代码中使用它们,link 稍后在目标文件中使用它们。

这里有一个答案可以告诉您如何做到这一点:How do i find out what all symbols are exported from a shared object?