我在 mbed 微控制器 K64F(1MB 闪存,512KB ram)上运行网络服务器。我通过获取表单获取数据。我必须创建一个 ipaddresses 列表,所以我创建了一个 2D 字符数组并将数据保存到其中。我将两个 char 数组声明为char bits[3][17]
and char ipadd[3][17]
。
我正在使用 memcpy 函数将数据从 get 表单复制到这些数组。
memcpy(ipaddr[counter],ip,strlen(ip))
memcpy(bits[counter],b,strlen(b))
所以每次用户通过获取表单输入数据时,它首先会转到 char *ip 和 char *b,然后我将它们复制到二维数组以创建一个列表。
我遇到的问题是,如果我将数组大小从char bits[3][17]
增加到char bits[4][17]
,应用程序崩溃。我检查了我的构建细节,它使用了 57 KB 的内存和 74 KB 的闪存。还有一件事它甚至在没有输入任何数据的情况下崩溃,这意味着即使应用程序没有复制任何数据字符串。
谁能帮我吗 ??