硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1645|回复: 10
收起左侧

[MDK] 动态数组

[复制链接]

77

主题

689

回帖

920

积分

金牌会员

积分
920
发表于 2021-11-19 22:44:15 | 显示全部楼层 |阅读模式
有人在MDK(编译器 ArmClang)使用过动态数组或者vector吗?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2021-11-20 00:59:39 | 显示全部楼层
这个还真没用过。
回复

使用道具 举报

77

主题

689

回帖

920

积分

金牌会员

积分
920
 楼主| 发表于 2021-11-21 00:07:27 | 显示全部楼层
eric2013 发表于 2021-11-20 00:59
这个还真没用过。

GCC下支持,armcc下不支持。我都不知道公司为啥会有人用这玩意,还在单片机上跑
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106978
QQ
发表于 2021-11-21 08:51:22 | 显示全部楼层
万能的stackoverflow方法就是多

https://stackoverflow.com/questi ... plicate-vector-in-c
回复

使用道具 举报

73

主题

1198

回帖

1417

积分

至尊会员

积分
1417
发表于 2021-11-21 10:01:21 | 显示全部楼层
果然,github上面很多实现类似的,但是单片机上不推荐这样使用吧
回复

使用道具 举报

77

主题

689

回帖

920

积分

金牌会员

积分
920
 楼主| 发表于 2021-11-21 11:52:43 | 显示全部楼层
wdliming 发表于 2021-11-21 10:01
果然,github上面很多实现类似的,但是单片机上不推荐这样使用吧

实现机制和malloc应该差不多,在单片机上面完全不推荐。一般只有不熟悉单片机性能的人才会用。除非有非常牛逼安全的内存管理算法,自己实现接口才能用。
回复

使用道具 举报

77

主题

689

回帖

920

积分

金牌会员

积分
920
 楼主| 发表于 2021-11-21 11:53:11 | 显示全部楼层
eric2013 发表于 2021-11-21 08:51
万能的stackoverflow方法就是多

https://stackoverflow.com/questions/4694401/how-to-replicate-vector ...

硬汉果然硬
回复

使用道具 举报

73

主题

1198

回帖

1417

积分

至尊会员

积分
1417
发表于 2021-11-21 14:01:49 | 显示全部楼层
庄永 发表于 2021-11-21 11:52
实现机制和malloc应该差不多,在单片机上面完全不推荐。一般只有不熟悉单片机性能的人才会用。除非有非常 ...

应该是互联网的人才会用这些动态分配的。
回复

使用道具 举报

77

主题

689

回帖

920

积分

金牌会员

积分
920
 楼主| 发表于 2021-11-21 18:12:44 | 显示全部楼层
wdliming 发表于 2021-11-21 14:01
应该是互联网的人才会用这些动态分配的。

这种需求应该很多行业都会用到,只不过在单片机上用有不安全性。存在内存碎片等问题。
回复

使用道具 举报

210

主题

1045

回帖

1685

积分

至尊会员

More we do, more we can do.

积分
1685
发表于 2021-11-22 18:07:34 | 显示全部楼层
编译选项叫VLA(Variable-length array),GCC扩展支持比较早,C标准2011才明确。
回复

使用道具 举报

77

主题

689

回帖

920

积分

金牌会员

积分
920
 楼主| 发表于 2021-11-22 20:42:50 | 显示全部楼层
emwin 发表于 2021-11-22 18:07
编译选项叫VLA(Variable-length array),GCC扩展支持比较早,C标准2011才明确。

在低版本的MDK使能C99加上--vla编译也出错,更新MDK至5.34直接就支持了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-12 21:34 , Processed in 0.320723 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表