mbed OS 5 项目中链接了哪些文件
What files are linked in an mbed OS 5 project?
我正在编写一个用于mbed 5的外部库(组件控制器),并计划使其在mbed存储库中可用。我想编写测试来确认我的代码是否正常工作,但它们只是常规的普通单元测试,不需要在嵌入式控制器上运行。我正在将 Catch 视为我的框架,它为测试套件提供了main
。
当我使用 mbed
CLI 或 Eclipse CDT(使用导出的项目)构建项目时,将包含哪些.cpp
文件,以及哪些.o
文件链接到嵌入映像中?图像是否仅包含通过包含从我的main.cpp
文件中提取的代码,或者它是否编译并链接所有可见的.cpp
文件(可能包括我的测试用例)?如果是后者,是否有一种干净的方法来排除它们,而不会与内置的 utest 功能发生冲突?
包含所有.cpp
文件,但也有一些例外。 FEATURE_
和TARGET_
文件夹是特殊的,并且仅在您的板具有特定功能(或属于特定目标的一部分)时才添加。我认为TESTS
也有一些特别之处。
您可以看到通过mbed compile -v
输入编译器/链接器的确切命令,或者如果您想要一个整洁的列表,请通过 mbed export -i make_gcc_arm
导出到 makefile,这将列出所有文件。
如果你想了解更多关于内部细节的信息,或者想围绕这些细节编写脚本,所有逻辑都在 Python 模块中实现,你可以在自己的 Python 脚本中使用它来获取将包含的标头/符号/定义/等列表。例如,请参阅 vscode/__init.py__
。
注意:如果要排除某个文件或文件夹,可以通过.mbedignore进行。
相关文章:
- CMake-按正确顺序将项目与C运行时对象文件链接
- 无法将 GLFW 库与 Ubuntu 18.04 上的头文件链接
- 错误 VSP1011:无法获取调试信息.与 /配置文件链接器开关链接
- 将我的主输出库与测试可执行文件链接时出现问题
- CMake + Qt + GTest 文件链接
- 生成文件链接
- 使用LTO静态链接的可执行文件(链接时间优化):如何使用以前构建的库进行制作
- 生成文件链接错误
- 使用 c++ 生成文件的文件链接
- 生成文件:链接器错误
- 反转头文件/链接
- C++实现和头文件链接
- .cpp文件将不会与.h文件链接
- 将问题与多个文件链接在一起
- 编译三个C++文件.链接错误
- C++如何将我的主类与我的头文件链接起来
- 使文件链接问题 架构x86_64的未定义符号
- c++和mex文件链接错误
- 使用堆叠类生成文件链接问题
- 使用对象文件链接c++中的东西