问题标签 [memset]

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 投票
1 回答
2179 浏览

structure - Memcpy 和 Memset 关于 C 中 Short 类型的结构

我有一个关于在结构及其可靠性上使用 memset 和 memcopy 的问题。例如:

我有一个看起来像这样的代码

我的问题是,

1):在 memset 中,如果我设置为 0 就可以了。但是当设置 2 时,我将 ma 和 mb 设为 514 而不是 2。当我将它们设为 char 而不是 short 时,这很好。这是否意味着我们不能将 memset 用于除 0 之外的任何初始化?它是对例如缩写的限制吗

2):在上述两个short类型的结构之间做memcopy是否可靠。我有一大串 a,b,c,d,e... 我需要确保副本是一对一的完美。

3):我最好在单个数组上使用 memset 和 memcopy,而不是像上面那样在结构中收集?

再一问,

在上面的结构中,我有变量数组。但是,如果我传递了指向这些数组的指针,并且我想将这些指针收集到一个结构中

在这种情况下,如果 i 或 memset 的 memcopy 它只会更改地址而不是值。我该如何更改这些值?原型错了吗?

请建议。你的投入非常小

谢谢dsp大佬

0 投票
1 回答
1085 浏览

cuda - 是否可以在 CUarray 上运行 cuMemset?

我有一个 CUarray,它是通过 cuGraphicsSubResourceGetMappedArray() 从我的 OpenGL 上下文中获得的。是否可以将它与 cuMemset*() 一起使用?

0 投票
3 回答
896 浏览

c - 即使在正确转换之后,增加 void 指针也需要左值

我正在实施memset()方法。下面是代码片段:

我收到的错误是:

当我将 ptr 的类型从 更改为void*int*,它编译成功

为什么它要求左值?

0 投票
1 回答
713 浏览

cuda - CUDA:无符号整数缓冲区上的 cuMemsetD32 由于参数在无效范围内而失败

我想重置(设置为 0)一个 unsigned int 类型的缓冲区。我不知道为什么,但对我来说只有 cuMemsetD8 版本有效。这是我的代码:

0 投票
5 回答
8649 浏览

c++ - 如何为指向数组的指针执行 memset?

如何为指向数组的指针执行 memset?

这个分配正确吗?

0 投票
1 回答
568 浏览

memory-leaks - memset向量为0会导致内存泄漏吗?

我的结构如下:

初次使用后,我做了一个memset;这个 memset 会导致内存泄漏吗?

0 投票
8 回答
96146 浏览

c++ - 如何使用空终止字符memset char数组?

使用空终止字符对整个字符数组进行 m​​emset 的正确和最安全的方法是什么?我可以列出一些用法:

  • 这些中的任何一个是否比其他(S)具有显着优势?
  • 使用 1、2 或 3 时我会遇到哪些问题?
  • 处理此请求的最佳方式是什么?
0 投票
1 回答
5781 浏览

c - 需要摆脱 memset 警告

如果我编译下面的代码,我会收到这样的警告:

警告:内置函数 memset 的隐式声明不兼容 [默认启用]

0 投票
7 回答
37185 浏览

eclipse - Eclipse 给我 Invalid arguments ' Candidates are: void * memset(void *, int, ?)' 虽然我知道 args 是好的

尽管我相信我的论点是好的,但我在 Eclipse 中遇到了一个无效的论点错误。建议的参数包含一个“?” 我认为这可能表明问题所在,但我不知道如何解决它。

我已尽力复制我在这里看到的示例:
http ://www.cplusplus.com/reference/clibrary/cstring/memset/

为了确定我得到了正确的参数。

Eclipse 在 memset 行上给了我以下错误:

无效参数 ' 候选者是:void * memset(void *, int, ?) '

这可能是什么原因造成的?那是怎么回事?作为第三个参数?

提前致谢!

PS:刚刚注意到我在尝试使用 malloc、calloc 等操作时遇到了类似的错误。

0 投票
2 回答
188 浏览

c++ - 如何在 C++ 中创建一个 D3DFORMAT 数组?

D3DFORMAT *arr = NULL;

这是对应该保存 D3DFORMAT 类型值的数组的引用。如何为这个大小由变量定义的数组分配内存

我应该以字节为单位计算数组的大小= sizeof(D3DFORMAT)*arrsize;

而不是使用 memset().?

如果我错了,请纠正我。或者,如果 tere 是一种更清洁、更好的 C++ 方法来执行此操作。?

提前。谢谢