Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
STM32F103C8T6使用C++;字符串标准 我在STM32 F103C8T6中使用了StryType的C++ Eclipse,我得到的错误是:“区域ROM溢出5980字节”。p> #包括“stm32f1x.h” #包括 std::字符串a; 内部主(空) { 对于(;); }_C++_String_Std_Stm32 - Fatal编程技术网

STM32F103C8T6使用C++;字符串标准 我在STM32 F103C8T6中使用了StryType的C++ Eclipse,我得到的错误是:“区域ROM溢出5980字节”。p> #包括“stm32f1x.h” #包括 std::字符串a; 内部主(空) { 对于(;); }

STM32F103C8T6使用C++;字符串标准 我在STM32 F103C8T6中使用了StryType的C++ Eclipse,我得到的错误是:“区域ROM溢出5980字节”。p> #包括“stm32f1x.h” #包括 std::字符串a; 内部主(空) { 对于(;); },c++,string,std,stm32,C++,String,Std,Stm32,有没有办法把它安装在这个微控制器上?STM32F103C8T6只有64千字节的闪存。你的程序不适合 看看这个,看看你需要多少。如果可能,您可以获得B版本。 您还可以查看是否可以启用。因为字符串库中可能有一些您甚至不需要的函数 *我猜你在使用GNU-ARM。STM32F103C8T6只有64KB的闪存。你的程序不适合 看看这个,看看你需要多少。如果可能,您可以获得B版本。 您还可以查看是否可以启用。因为字符串库中可能有一些您甚至不需要的函数 *我猜你在使用GNU-ARM。我想这个问题已经基本上

有没有办法把它安装在这个微控制器上?

STM32F103C8T6只有64千字节的闪存。你的程序不适合

看看这个,看看你需要多少。如果可能,您可以获得B版本。
您还可以查看是否可以启用。因为字符串库中可能有一些您甚至不需要的函数


*我猜你在使用GNU-ARM。

STM32F103C8T6只有64KB的闪存。你的程序不适合

看看这个,看看你需要多少。如果可能,您可以获得B版本。
您还可以查看是否可以启用。因为字符串库中可能有一些您甚至不需要的函数


*我猜你在使用GNU-ARM。

我想这个问题已经基本上得到了回答,但我想从更高的角度讲几句话,这可能会帮助其他人走上同样的道路

当然,你可以使用C++来完成微控制器项目,但是你会想要避免大多数C++范例。 想成为“C+”;比面向对象编程(OOP)方面更接近C。 特别是避免大多数例程,比如一般C++对象。避免模板等占用代码内存的范例

你可以设置一个MalCube(),所以有一个C++新的/Delphi,但是大多数时候你都想构造你的代码,这样就没有动态分配了。 这不仅是因为它们增加了更多的代码空间,而且最终只会使用更多有限的20kb RAM。为了有一个动态分配,你必须有一些最小的链表或类似的链表来维护RAM等人的块

可能是,你只想使用C++的一些令人信服的特性,比如放宽变量范围限制等。 您可能只想使用ST网站和/或其他地方提供的最小C库

对于廉价低成本的微控制器项目,其艺术之一是小型化。当然,这取决于你的项目范围。对于一些复杂的、有很多功能的东西,您可能很难将所有东西都安装在64kb的闪存ROM空间中

其他一些选择是获得一个beefer微控制器和/或添加一个I2C EEPROM以获得更多的代码空间(为了运行代码,您可能需要在RAM中进行分页)


作为一种策略,您可能只想利用堆栈(本地静态大小的字符数组)来使用和操作动态字符串,并使用好的旧C库类型,如strcpy()、sprintf(),等等。

我认为这个问题在这里已经基本得到了回答,但我想从更高的角度讲几句话,这可能会帮助其他人走上同样的道路

当然,你可以使用C++来完成微控制器项目,但是你会想要避免大多数C++范例。 想成为“C+”;比面向对象编程(OOP)方面更接近C。 特别是避免大多数例程,比如一般C++对象。避免模板等占用代码内存的范例

你可以设置一个MalCube(),所以有一个C++新的/Delphi,但是大多数时候你都想构造你的代码,这样就没有动态分配了。 这不仅是因为它们增加了更多的代码空间,而且最终只会使用更多有限的20kb RAM。为了有一个动态分配,你必须有一些最小的链表或类似的链表来维护RAM等人的块

可能是,你只想使用C++的一些令人信服的特性,比如放宽变量范围限制等。 您可能只想使用ST网站和/或其他地方提供的最小C库

对于廉价低成本的微控制器项目,其艺术之一是小型化。当然,这取决于你的项目范围。对于一些复杂的、有很多功能的东西,您可能很难将所有东西都安装在64kb的闪存ROM空间中

其他一些选择是获得一个beefer微控制器和/或添加一个I2C EEPROM以获得更多的代码空间(为了运行代码,您可能需要在RAM中进行分页)


作为一种策略,您可能只想利用堆栈(本地静态大小的字符数组)来使用和操作动态字符串,并使用好的旧C库类型,如strcpy()、sprintf(),这个问题很明显,你的MC的ROM对于一个与 LBSTST-C++</代码>的程序是小的。我想让Adulo几乎完全在C++上工作,但不是在更大的微控制器上工作。我没有真正的调查过。但是ARDUNO不是用一个专门的C++库来实现的吗?你有多少Flash?好吧,我没有严格使用这个库。你知道用绳子做轻松舒适的工作的方法吗?我使用字符串,如string.lenght()和其他。。。STM32 F103C8T6有64KB闪存。问题是,你的MC的ROM对于一个与 LBSTST-C++ ++ >代码>的程序来说是很小的。我想让Adulo几乎完全在C++上工作,但不是在更大的微控制器上工作。我没有真正的调查过。但是ARDUNO不是用一个专门的C++库来实现的吗?你有多少Flash?好吧,我没有严格使用这个库。你知道用绳子做轻松舒适的工作的方法吗?我使用字符串,如string.lenght()和其他。。。STM32F103C8T6具有64kb闪存。
#include "stm32f1xx.h"
#include <string>


std::string a;

int main(void)
{


    for(;;);
}