在mbed OS 5项目中链接了哪些文件?

时间:2017-10-13 00:47:37

标签: c++ unit-testing testing mbed catch-unit-test

我正在编写一个外部库(一个组件控制器),用于mbed 5,并计划在mbed存储库中使用它。我想编写测试来确认我的代码工作正常,但它们只是常规的普通单元测试,不需要在嵌入式控制器上运行。我正在查看Catch作为我的框架,它为测试套件提供了main

当我使用mbed CLI或Eclipse CDT(使用导出的项目)构建项目时,包含了哪些.cpp文件以及哪些.o文件链接到嵌入图像?图像是否仅包含通过包含从main.cpp文件中提取的代码,还是编译并链接所有可见的.cpp文件(可能包括我的测试用例)?如果是后者,是否有一种干净的方式来排除它们不会与内置的utest功能发生冲突?

1 个答案:

答案 0 :(得分:1)

包含所有.cpp个文件,但也有一些例外情况。 FEATURE_TARGET_文件夹很特殊,只有在您的主板具有某个功能(或属于特定目标)时才会添加。我认为TESTS也有一些特别之处。

您可以通过mbed compile -v查看输入编译器/链接器的确切命令,或者如果需要整齐列表,可以通过mbed export -i make_gcc_arm导出到makefile,它将列出所有文件。< / p>

如果您想了解有关内部细节的更多信息,或者想要围绕这些细节编写脚本,所有逻辑都在Python模块中实现,您可以在自己的Python脚本中使用它来获取标题/符号/定义/的列表等等。例如,请参阅vscode/__init.py__

注意:如果您要排除某个文件或文件夹,可以通过.mbedignore完成。