2

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

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

4

1 回答 1

1

所有.cpp文件都包括在内,但也有一些例外。FEATURE_TARGET_文件夹是特殊的,仅当您的板具有特定功能(或属于特定目标的一部分)时才会添加。我认为也有一些特别之处TESTS

您可以通过 看到输入编译器/链接器的确切命令mbed compile -v,或者如果您想要一个整洁的列表,请通过 导出到生成文件mbed export -i make_gcc_arm,它将列出所有文件。

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

注意:如果要排除某个文件或文件夹,可以通过.mbedignore 进行

于 2017-10-13T02:27:01.547 回答