在 C 项目中包含目标文件或汇编程序文件?

Include object file or assembler file in C Project?

我正在尝试使用 Microsoft 的 ELL library/compiler 将简单的学习算法部署到微控制器。但是我过去对嵌入式开发的了解更好。问题如下:

ELL 从 CNTK 机器学习模型创建一个 LLVM IR 文件和一个 C 头文件(没有纯 c/c++ 文件)。到目前为止,一切都很好。现在我可以使用 IR 告诉 llc 为所需的目标(在我的例子中是 ARM Cortex M4)制作一个汇编程序或目标文件。

所以我得到了一个头文件model.h和一个汇编文件 model.s 目标文件 model.o。 现在我想在我的嵌入式项目中包含这个带有头文件的模型和预编译模型。 对于开发,我使用 Bosch XDK,IDE 基本上是 Eclipse。 那么,有没有办法可以在我的代码中包含预编译模型?什么时候是,如何?我如何正确地将它包含在 Eclipse 中?还是我必须做进一步的步骤?我也想过用目标文件制作一个静态库,但我没有这方面的经验,到目前为止我的尝试没有成功结束。感谢您的帮助。

如果您从目标文件创建静态库,linker 将简单地提取目标文件并link它。那是一个不必要的步骤,您可以直接将目标文件添加到 linker 命令行。或者将 .s 源文件添加到您的项目 - 默认构建规则应将其识别为汇编语言文件并调用汇编器而不是编译器。