社区
C语言
帖子详情
如何进行int类型数组高效拷贝
jsjjms
2006-07-27 04:28:45
本人不才,对int类型的数组拷贝一直使用for循环进行.(int a[10] copy to int b[10] )
但效率太低,尤其在嵌入式开发中.
请教各位大虾, 如何拷贝,或者赋值更高效(不能使用嵌入汇编)
谢谢!
...全文
561
16
打赏
收藏
如何进行int类型数组高效拷贝
本人不才,对int类型的数组拷贝一直使用for循环进行.(int a[10] copy to int b[10] ) 但效率太低,尤其在嵌入式开发中. 请教各位大虾, 如何拷贝,或者赋值更高效(不能使用嵌入汇编) 谢谢!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
「已注销」
2006-07-28
打赏
举报
回复
memcpy
如果源地址和目的地址存在重叠,用memmove
goodluckyxl
2006-07-28
打赏
举报
回复
恩 应该拷贝很简单只是简单的通过总线访问一下数据
然后再通过数据总线读回数据
只要保证传输数据宽度和总线宽度保持一致
那么速度就是最快 当然仅仅指拷贝哦
jsjjms
2006-07-28
打赏
举报
回复
to goodluckyxl(被人遗忘的狗) ( ) 信誉:166
存储设备之间拷贝不是使用DMA的。
可能还是PC硬件和我用的硬件差异导致的.
我对我们系统的硬件还不是很清楚,
谢谢各位了.
jsjjms
2006-07-28
打赏
举报
回复
to: gongyuan() ( ) 信誉:100
字串是char是单字节的,int宽度是char的两倍.所以直接不能copy.
gongyuan
2006-07-27
打赏
举报
回复
如果把他们看成字符串来copy行吗?请教一下各位!谢谢啦!
goodluckyxl
2006-07-27
打赏
举报
回复
memcpy是不是自己实现的?
对于int型的数据拷贝最高效率
首先要确定int长度是否为机器字长
如果不是需要转为字长处理
至于memcpy不memcpy都是一样的自己写对应类型实现函数是很可靠的
如果你有dma控制芯片可存储设备之间拷贝直接依靠dma来实现不要cpu来干预
几乎没有什么效率影响问题
jsjjms
2006-07-27
打赏
举报
回复
to: jixingzhong(瞌睡虫:选择了远方,只顾风雨兼程!) ( )
在编译器上进行实验都使用memcpy都是没有问题,不过一上到真正平台模拟器上,
就不知道什么原因,copy的buffer 就乱掉了。 郁闷.
jsjjms
2006-07-27
打赏
举报
回复
void main()
{
int a[10] = {1, 2};
memset(a, 1, sizeof(a));
for(int i=0; i<10; ++i)
cout<<a[i]<<endl;
}
输出结果为:
16843009
16843009
16843009
16843009
16843009
16843009
16843009
16843009
16843009
16843009
Press any key to continue
jsjjms
2006-07-27
打赏
举报
回复
to: fishyqd(小鱼儿) ( ) 信誉:100
memset()是对char这样宽度进行处理的,
对int类型好象不能直接处理.
fishyqd
2006-07-27
打赏
举报
回复
void *memset(void *buf, char ch, unsigned count).
memset(a,0xffff,sizeof(a));貌似这样
jsjjms
2006-07-27
打赏
举报
回复
如果对int a[10]赋值如何处理?
比如我要将a[0] ~ a[9] 全部赋值为0xffff???
睡在床板下_
2006-07-27
打赏
举报
回复
b=a
jixingzhong
2006-07-27
打赏
举报
回复
void *memccpy(void *destin,void *source,unsigned char ch,unsigned n)
memccpy从source复制字节到destin.复制一结束就发生下列任一情况:
(1)字符ch首选复制到destin.
(2)n个字节已复制到destin.
也许这个也会用到,
可以复制一部分内存 ...
anyue417
2006-07-27
打赏
举报
回复
我不懂,看大牛们发挥
jixingzhong
2006-07-27
打赏
举报
回复
int a[10] copy to int b[10]:
memcpy(b, a, sizeof(a));
jixingzhong
2006-07-27
打赏
举报
回复
memcpy 直接内存拷贝会好一点 ...
【Docker】安装MySQL
一文带你使用Docker安装MySQL,过关斩将。
Docker安装MySQL
默认的鉴权方式,我们修改为mysql_native_password,不然的话连接会报错。虽然 docker 安装 mysql 不是一个很好的方案,但是为了个人使用方便,使用 docker 安装 mysql 还是没什么问题的。所以,我们在安装之前需要电脑可以联网,不然我们这种方式是安装不了的。当然,你也可以自行下载mysql镜像,然后再通过 docker 安装,不过这不在本文的讨论范围。此时我们使用mysql客户端连接服务器是失败的,因为默认的root不具有远程连接的权限。此时我们需要执行第六步。
【Docker】Docker安装MySQL
MySQL 是世界上最受欢迎的开源数据库。凭借其可靠性、易用性和性能,MySQL 已成为 Web 应用程序的数据库优先选择。那么如何在Docker中安装MySQL呢?本文告知你!
【docker】docker安装MySQL
服务器上安装了dockerMySQL是一种广泛使用的关系型数据库管理系统(RDBMS),它使用SQL作为其查询语言。Docker是一个开源的容器化平台,可以为应用程序的开发、部署和运行提供便利。在Docker中安装MySQL可以使开发人员更加方便地
进行
MySQL应用程序的开发和测试。本文将介绍如何在Docker中安装和配置MySQL。Docker是一种开源的容器化平台,可以帮助开发者打包、运输和部署应用程序和服务。Docker利用容器技术,将应用程序打包到一个独立、可重复的容器中,以便在任何环境下运行。
【linux安装docker】使用docker安装mysql
linux安装docker、mysql
C语言
70,040
社区成员
243,245
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章