0

我正在尝试将 arduino 库导入 Code composer studio IDE。我成功导入它,但我收到一些与 size_t is not a type 有关的错误。我知道它已在 stddef.h 头文件中定义。但我不确定要消除此错误需要做什么。确切地说,定义它的不同方法是什么以及要包含的所有头文件是什么?因此,如果有人可以提供帮助,那就太好了。

谢谢

4

1 回答 1

0

从您提供的少量信息中,很难说出问题所在。不过,我可能会给你一些猜测:

size_t是平台依赖型。它正是sizeof运算符返回的类型。

因此,当您使用 Arduino 时,它可能有另一个定义,或者它与您的编译器定义的定义收缩。我用谷歌搜索了这个问题,我发现了这两个解决方案:

  1. 包括Arduino.h在您正在使用的 cpp 中,而不仅仅是标题。
  2. physfs.h中,添加这个#include <stdlib.h>

反正你真的要size_t直接用吗?如果你正在寻找unsigned long你可以直接使用它.. size_t 是一个有点模棱两可的类型。例如, on Windows, Intel, 它将具有不同的大小x86x64这可能会导致一些问题,尤其是在您对其进行一些级别操作时。

编辑:如果您将 size_t 用于正确的目的,即对象的大小,您应该继续使用它。我的说明是,只要您在需要 unsigned long 时使用 size_t 。

于 2015-12-22T07:00:08.903 回答