gpt4 book ai didi

c - 无需交叉编译的嵌入式 C 代码和单元测试

转载 作者:太空宇宙 更新时间:2023-11-04 00:04:56 24 4
gpt4 key购买 nike

我开始学习单元测试。我使用 unity,它在 Windows 上的 eclipse 中与 mingw 配合得很好。我使用不同的配置进行调试、发布和测试。这适用于 cdt-plugin。

但我的目标是针对 stm 对我的嵌入式代码进行单元测试。所以我将 arm-gcc 与 arm-gcc eclipse 插件一起使用。我计划有一个配置来编译目标的调试和发布代码,以及一个使用 mingw 的配置来编译和执行 pc 上的测试(只是硬件独立部分)。

使用 eclipse 插件,我无法编译不使用 arm-gcc 的代码。

有没有办法让一个项目具有对嵌入式目标和 pc 的配置和支持?

谢谢

最佳答案

如上所述,您需要一个 makefile 指向两个不同的目标,并根据目标使用不同的编译器选项。

您需要确保代码的可移植性。

我最常使用 CMake 完成这项工作,并概述了单元测试与目标的不同编译器路径和链接器标志。通过这种方式,我还可以轻松地链接任何单元测试库,同时将它们保持在我的目标之外。最后 CMake 生成一个 Makefile,但我没有花时间担心 make 语法,虽然我可以阅读,但它经常看起来像巫术。

完全在单个 Eclipse 项目中执行此操作是可能的。您需要为多个目标配置您的项目,每个目标使用不同的编译器,并且需要一些哄骗才能让 Eclipse 正常运行。

如果您的目标是完全在 Eclipse 中完成,我建议您阅读 this作为入门书。

如果你想走另一条路,这里是CMake primer .

关于c - 无需交叉编译的嵌入式 C 代码和单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27932598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com