问题标签 [memcpy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5350 浏览

c - 在 C 中,memcpy 如何处理有符号整数参数?

在 C 语言中,如果我提供一个有符号整数,特别是负整数作为 memcpy 函数的第三个参数,会发生什么?

例子:

memcpy 会将结果-100*sizeof(source)解释为无符号吗?

谢谢!

0 投票
1 回答
589 浏览

arrays - memcpy 是否适用于结构中的大型数组?

我有一个结构,其中有一个动态数组。我已经定义了其中的两个结构。

我在第一个结构中填充数组,然后使用类似的行

memcpy(R->v, A->v, A->n*sizeof(double)

其中 v 是已动态分配的数组,n 是条目数。

如果重要的话,R 和 A 是同一类型。

问题是,这些值没有被正确复制到 R 中。知道为什么吗?当我尝试在 totalview 中调试它时,memcpy 进入一个名为“very_huge_loop”的函数,但没有抛出异常或任何东西。

该数组的长度约为 188k 双倍。

谢谢

0 投票
5 回答
353 浏览

c - mempcy 无法复制所有数据

我在 C 中遇到 memcpy 问题。这是代码:

CPY_IM009_DEF 是其他文件中的结构。然后我试试这个

当我检查尺寸时:

大小(味精)= 2140

sizeof (wx_msg_buf) = 8192

但是当我检查 wx_msg_buf 时,memcpy 只会将部分 msg 复制到 wx_msg_buf(从 2140 到 200)。我想知道为什么会发生这种情况?如果需要更多代码,请告诉我

谢谢你的帮助。

0 投票
2 回答
284 浏览

c - 使用 memcpy 连接字节块中的字节时出错

有时,下面的代码会起作用,这可能意味着概念很好,但执行很差。由于这取决于钻头掉落的位置而崩溃,这意味着我正在一路杀戮。我有兴趣找到一种优雅的方式来填充bufferdata<=4096 字节buffer,但不可否认,这不是它。

编辑:我收到的错误是对缓冲区数据的非法访问

0 投票
4 回答
5324 浏览

floating-point - Lua中将字节数组转换为浮点数[浮点数据结构]

我有能力用 Lua 读取内存,但我遇到了问题。我想读取一个浮点值。

我有,我认为是一个浮点数,在看起来像这样的内存中。

我知道浮点值,因为我使用的是内存编辑器。在 Lua 中我有一个类似于 memcpy 的函数,它被称为 readmem(Address,bytes) 它返回一个整数值。

如何使用 readmem 将字节数组读入 Lua 中的浮点数。

为了这个问题,我想你可以假设 65 中的 6 是地址 00000000。

0 投票
2 回答
131 浏览

c - 通过直接写入下面的发送缓冲区来保存堆栈

Imaging 有一堆协议和一些 c/cpp 代码,它们巧妙地涵盖了每一层的发送。每个发送函数都使用下面的层添加另一个标头,直到整个消息最终被放入第 0 层的连续全局缓冲区中:

现在数据被移动到某个全局变量并实际传输:

我想在这段代码中减少堆栈使用和 memcpy() 的数量,所以我想像:

我的想法是在底部有一些东西,通过不断地从 MAX_MSG_SIZE 中减去并让上层代码直接从末尾/右侧填充全局缓冲区,计算每个层标头的正确偏移量和实际有效负载的偏移量边。

这听起来合理吗?是否有替代的,也许更优雅的方法?

0 投票
1 回答
918 浏览

c - memcpy 似乎卡住了

我正在尝试使用大小为 200K 的 memcpy,但它卡住了!!!

destb 和 source 都已分配。

这个问题的原因可能是什么?

0 投票
4 回答
1982 浏览

c++ - memcpy 将 ff ff ff 添加到字节的开头

我有一个这样的数组:

当我使用 memcpy 时:

并打印它们:

一个打印如下:

但另一个打印

发生了什么?

0 投票
3 回答
1353 浏览

c - MIPS memcpy 问题(我认为)

我有一些软件,我在使用 icc 的 redhat 系统上工作,它运行良好。当我将代码移植到使用 MIPS 运行的 IRIX 系统时,我会得到一些计算结果,这些计算结果肯定应该是“nan”。

我在非 redhat 系统上没有任何好的调试器,但我发现我的一些数组偶尔会出现“nan”,这导致我的点积计算返回为“nan”。

看到我无法使用调试器跟踪它,我认为问题可能出在 memcpy 上。带有动态分配数组的 MIPS 编译器 memcpy() 函数是否存在任何问题?我基本上在使用

我无法真正证明这一点,但我认为这可能是问题所在。有一些解决方法吗?也许中小企业数据未对齐?我该如何解决?

0 投票
2 回答
927 浏览

c - C memcpy 错误 - 在 Windows XP 上无法写入内存

我有一个 C 程序,它可以将文件逐行加载到一个字符串中,然后使用以下代码将这个字符串 memcpy 加载到另一个字符串指针中:

但是当我在我的 Windows XP SP3 机器上执行上述程序时,我收到一个错误消息框,上面写着:

“<内存地址>”处的指令引用了“<内存地址>”处的内存。内存无法“写入”。单击确定终止....

当我尝试进行类似的内存操作时,我遇到了类似的问题,它给出了类似的问题。strcpy 最适合我,但 strcpy 省略了读取该行的 NUL 字符,但即使在该行中的 NUL 之后,我也会读取更多字符。任何人都可以为此提供解决方法或任何建议。

环境:Windows XP SP3,GCC编译器。

我什至在 solaris unix 上尝试过类似的代码编译和使用,我在那里面临同样的问题。

我在一些 OpenCV Python、C 示例中也遇到了类似的错误。

编辑: 对不起,伙计们..我有那个指针 p 初始化p = inmodptr->Body;inmodptr 是一个结构。我可以确认指针初始化不是问题。为了清楚起见,发布了完整的代码