社区
C语言
帖子详情
如何进行int类型数组高效拷贝
jsjjms
2006-07-27 04:28:45
本人不才,对int类型的数组拷贝一直使用for循环进行.(int a[10] copy to int b[10] )
但效率太低,尤其在嵌入式开发中.
请教各位大虾, 如何拷贝,或者赋值更高效(不能使用嵌入汇编)
谢谢!
...全文
507
16
打赏
收藏
如何进行int类型数组高效拷贝
本人不才,对int类型的数组拷贝一直使用for循环进行.(int a[10] copy to int b[10] ) 但效率太低,尤其在嵌入式开发中. 请教各位大虾, 如何拷贝,或者赋值更高效(不能使用嵌入汇编) 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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 直接内存拷贝会好一点 ...
java
数组
PPT
java
数组
java
数组
PPT 详解
C#
拷贝
数组
的几种方法(总结)
突然学到了,所以就放到博客上来共享一下,权当是学习日记吧。 首先说明一下,
数组
是引用
类型
的,所以注意不要在复制时复制了地址而没有复制数值哦! 其实在复制
数组
的时候,一定要用new在堆中开辟一块新的空间专门用于存放
数组
,这样才是有效的。 (1)
int
[] pins = { 9, 3, 7, 2 };
int
[] copy=new
int
[pins.length]; for (
int
i = 0; i < copy.length; i++) { copy[i] = pins[i]; } (2)
int
[] copy = new
int
[pins.Len
C++安全方便
高效
地复制对象
数组
在C++中,我们经常遇到需要对一个对象
数组
进行
复制,比如下面一个结构: struct STest {
int
a;
int
b; vector<
int
> vct
Int
; }; 我们定义了两个
数组
: STest A[20]; STest B[20]; 需要将
数组
A中的所有内容复制到B
数组
中,通常我们的做法都是这样: for(size_t i = 0; i < ARRAYSIZE(A); ++i) { A[i] = B[i]; } 这里不能直接使用memcpy,因为STest中有vector
类型
。但是,如果我们定
Java 如何
高效
进行
数组
拷贝
性能最高,适合大多数情况。:简单易用,适合需要创建新
数组
的情况。clone:简单易用,适合需要快速复制
数组
的情况。循环手动复制:灵活,但性能较低。根据具体的需求选择合适的方法。如果需要高性能的
数组
拷贝
,推荐使用或。
【Java】Java中关于
数组
拷贝
的几种方法
很多时候,Java中需要用到
数组
拷贝
,所以本篇文章来介绍几种
数组
拷贝
的方法。 Java中关于
数组
拷贝
的几种方法:1.最普通的
拷贝
2.提供的
数组
函数(Arrays.copyof()) 1.最普通的
拷贝
对于
拷贝
,大家都能理解和知道的肯定就是自己写一个方法去实现
拷贝
,也就是在main方法中调用一个方法,返回一个
数组
是
拷贝
完成的
数组
。 代码实现: public static
int
[] copyArray(
int
[] array){
int
[] copy = new
int
[array.len
C语言
70,023
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章