Code composer studio 的 size_t 定义

Definition of size_t for Code composer studio

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

谢谢

根据您提供的少量信息,很难判断是什么问题。不过,我可能会给你一些猜测:

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

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

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

无论如何,你真的要直接使用size_t吗?如果你正在寻找 unsigned long 你可以直接使用它.. size_t 是一个有点模糊的类型。例如,在 WindowsIntel 上,x86x64 的大小不同,这可能会导致一些问题,尤其是当您对其进行某些关卡操作时。

编辑:如果您使用 size_t 的目的是 object,您应该继续使用它。我的笔记是,如果您在需要无符号长整型时使用 size_t。