我正在Atmel Studio 7中开发一个C++对象。我是否必须在头/ C++文件中包括stdbool.h、stdint.h或类似的AVR-GCC库?bool是C++中的关键字,但我不知道它是否适用于微控制器项目,因为并不是所有的C++特性都受支持。uint8_t也不是关键字,它是typedef。但是如果我不包括它们的话,这个项目就能很好的完成。uint8_t可以是stdint-gcc.h中最高级的,在默认情况下它似乎包含在项目中。我是否仍应将#include <stdbool.h>、#include <stdint.h>放入需要使用它们的文件中?
发布于 2016-06-03 19:11:56
不,如果您能够在没有它们的情况下编译,则不需要包含它们。它可能有助于可移植性,但如果将来您决定不使用Atmel Studio。再一次,在我的经验中,如果您离开Atmel Studio,无论怎样,您都会遇到许多其他可移植性问题,特别是如果您使用的是任何专有库,比如QTouch。保持微控制器的真正可移植性通常是一项徒劳无功的任务。
https://stackoverflow.com/questions/37617758
复制相似问题