问题标签 [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 投票
3 回答
1183 浏览

c++ - 在共享内存中读取不同的数据类型

我想在运行 DLL 的不同进程之间共享一些内存。因此,我创建了一个内存映射文件,HANDLE hSharedFile = CreateFileMapping(...)然后LPBYTE hSharedView = MapViewOfFile(...)LPBYTE aux = hSharedView

现在我想从 aux 数组中读取 a bool、 a int、 afloat和 a 。char阅读boolchar很容易。但是我将如何阅读 a intor float?注意intorfloat可以从位置 9 开始,例如一个不能被 4 整除的位置。

我知道你可以读 achar[4]然后memcpy把它读成 a floator int。但我真的需要这个非常快。我想知道是否可以用指针做一些事情?

提前致谢

0 投票
1 回答
186 浏览

c++ - 如何在内存中直接处理 PNG 的 alpha 透明度?

我会感谢你们低级程序员的帮助......我的问题是:我想将格式 ARGB8888 的位图直接打印到视频内存中。位图的形式还可以,问题是我不知道如何使用的 alpha 通道。我在维基百科中看到过这样覆盖像素的代码:

颜色在 0 - 1 之间变化。这是针对每个通道 RG B 完成的。我正在做的是使用上面的公式将位图每个像素的每种颜色的每个字节直接复制到视频内存中,但我是缺少一些东西,因为颜色不适合自己。

我正在尝试执行类似于此线程中发布的代码的操作: http ://www.badadev.com/create-a-photo-editing-app/ 但在这里他们不处理透明度,这是我的问题。谢谢!

0 投票
4 回答
1660 浏览

c++ - 相邻内存区域上的 memcpy() 安全性

我最近问了一个关于使用 volatile的问题,并被指示阅读Intel 和其他人讨论内存屏障及其用途的一些内容丰富的文章读完这些文章后,我变得很偏执。

我有一台 64 位的机器。从多个线程 memcpy 到相邻的、非重叠的内存区域是否安全?例如,假设我有一个缓冲区:

一个线程将内存存储到前 5 个字节,而第二个线程复制到最后 5 个字节总是安全的吗?

我的直觉反应(和一些简单的测试)表明这是完全安全的,但我无法在任何地方找到可以完全说服我的文档。

0 投票
4 回答
485 浏览

c - 相同地址的C结构分配有效吗?

如果我的代码中有这样的内容:

如果 x 和 y 指向同一个地址,会发生什么?

这是有效的代码吗?如果编译器将赋值转换为带有潜在无效操作数的 memcpy 调用(它们不允许重叠)怎么办?

[是的,我知道在这种情况下我可以使用“限制”,但是我们发现的实际代码让我们认为这是由野牛自动生成的,所以我们想知道它是否应该始终有效以及编译器是否应该使用 memmove 或其他允许重叠的东西..]

0 投票
3 回答
1276 浏览

c++ - memcpy 和 C++ 类模板 - 如何使用它?

所以..我们如何调用 memcpy(dataCopy, data, length); 复制抽象数据 T?

或者,如果抽象 T 不安全,可以说我们知道 T 是 POD(普通旧数据,基本上是 C 结构) - 是否可以复制它?

0 投票
2 回答
237 浏览

c - 我不明白一些旧的 C 数组连接

我不理解这个旧C程序中的这种语法,也没有准备好测试代码以查看它的作用。我感到困惑的部分是与数组的串联。我不认为 C 可以处理这样的自动类型转换,或者我在我的脑海里太难了,因为它是星期五下午......

知道这里会发生什么吗?wrkbuf当您连接或添加 int 时会变成什么?

0 投票
3 回答
2284 浏览

c - memcopy 和二维数组

我可以用 memcopy 复制这个吗?

我有一个奇怪的错误,可以通过 memcopy 无法解释...

0 投票
3 回答
299 浏览

c - 第二个 memcpy() 将先前的 memcpy() 数组附加到它

我这里有个小问题memcpy()

当我写这个

它从第 15 个元素开始从数组中复制b字节line(很好,这就是我想要的)

b这从第 31 个元素开始的行中复制字节,它也将前一个命令的结果附加到它上面,即ipA.

为什么?ipB大小是 15,所以它不应该有足够的空间来复制其他任何东西。这里发生了什么事?

  • 结果ipA192.168.123.123
  • 结果ipB变成205.123.123.122 192.168.123.123

我哪里错了?我实际上不太了解 C 中的内存分配。

0 投票
3 回答
2327 浏览

c++ - C++ is_trivially_copyable 检查

如何检查 C++ 类型是否可以轻松复制?我有一个类,它使用具有指定模板类型 T 的 memcpy 和 memcmp 函数,我想为类型触发断言,使用 memcpy 复制这些类型是不安全的。有没有办法做到这一点(使用现有标准)?

0 投票
1 回答
2204 浏览

c - 使用 memcpy 复制数据

我正在做一个 clsf_ptr 的 memcpy 到 upclsf

在使用 gdb 进行调试时,我在打印 &upclsf 时检查了 upclsf 的内存地址

当我打印 upclsf 我得到了

这是我无法理解的地址,这里upclsf是结构分类器的一个实例