gpt4 book ai didi

c++ - arduino 的 C++ 是否遵循标准?

转载 作者:行者123 更新时间:2023-12-03 10:04:27 27 4
gpt4 key购买 nike

Arduino平台上的C++程序没有main()功能与其他平台一样;相反,它必须有两个名为 setup() 的函数。和 loop() .但是根据 C++ 标准 - 所有 C++ 程序都必须有一个 main()功能。
那么,这样的C++代码是否符合标准呢? Arduino 上的 C++ 编译器/链接器/加载器是否符合标准?

最佳答案

C++ 标准提供了两种执行环境:独立式和托管式。这里的大多数人都在托管环境中运行,您的程序开始于 main() .嵌入式系统在独立环境中运行,其中程序启动是通过实现定义的机制进行的。独立环境的编译器可以省略标准库的某些部分。更多详情,see here .
所以,setup()loop()在独立环境中没问题。否 main()必需的。不知道Arduino的库是否符合标准中的要求。
在托管环境中,通常有一个操作系统(主机)可以让您启动程序。这种环境下的C++程序必须有main() .在独立环境中,程序通常在设备打开时启动。这更接近于金属,并且允许系统有自己的要求,以简化触发应用程序的样板代码。

关于c++ - arduino 的 C++ 是否遵循标准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64581419/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com