问题标签 [memory-access]

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 回答
3525 浏览

c - C中的Trie树上的分段错误和Valgrind未堆叠地址错误

我正在用 C 语言编写一个 Trie 树,具有以下结构:

但是我在这个插入函数中遇到了问题:

该函数接收一个指向树的指针和一个字符串。如果 Trie 的根为 NULL,则创建一个节点,然后在数组上搜索下一个空闲(NULL)位置进行存储。

问题出在这一行:

当我执行此操作时,它给了我分段错误错误,以及 GDB 上的此错误:

并以这种方式使用 Valgrind: valgrind --tool=memcheck --leak-check=full --track-origins=yes ./trie 它给了我这些错误

我真的很感激任何帮助。谢谢!

====编辑==== 崩溃时的值:

===Edit2=== 要求的其他值:

0 投票
1 回答
185 浏览

access-violation - 内存访问冲突VC++

我遇到了内存访问冲突,我无法弄清楚。我猜我的语法在某处可能是错误的。这是我的代码

什么可能导致访问冲突?

0 投票
1 回答
134 浏览

c++ - 如何查找 CPU 在地址别名中使用的位数?

我指的是这个问题和投票最多的答案:-

为什么在单独的循环中元素加法比在组合循环中快得多?

我的问题是,是否有一种简单的方法可以确定特定 cpu 用于加载/存储的地址别名的位数(称为 N)?

0 投票
1 回答
415 浏览

object - 对象和结构成员访问和地址偏移计算

我正在编写一个简单的 VM,并且我对实现对象和结构成员访问有疑问。

由于程序的开始地址在每次运行时都是任意的,因此其每个对象的地址也是任意的。

因此,我能想到的访问对象或其成员对象的唯一方法是访问“基”指针的偏移量,这意味着访问程序结构中的任何内容都需要算术运算。

我的问题是这是否是它在专业编译器中完成的方式,因为显然这种方法会给运行时增加一些开销,而且我自己想不出任何方法来从运行时卸载这个过程,因为缺乏对内存分配及其地址的一致性?

0 投票
3 回答
1611 浏览

c - 如何从 C 中的“原始”内存读取/写入类型值?

我该如何做这样的事情?

0 投票
2 回答
947 浏览

mpi - MPI_Isend /Irecv:是否可以同时访问未使用内存位置上的发送缓冲区

我想使用异步通信来加速我的 MPI 程序。但使用时间保持不变。工作流程如下。

测量结果表明,对于常见的工作负载,Array-core 的通信和处理时间几乎相同。所以异步应该几乎隐藏了通信时间。但事实并非如此。

一个事实——我认为这可能是问题所在——是 sendbuffer 也是进行计算的数组。尽管通信仅访问 Halo(使用派生数据类型)并且计算仅访问数组的核心(仅读取),但 MPI 是否有可能序列化内存访问?

有人知道这是否肯定是原因吗?

是否可能依赖于实现(我正在使用 OpenMPI)?

提前致谢。

0 投票
3 回答
1967 浏览

c - 链表还是顺序内存?

我不是 100% 确定如何描述这一点,但我会尽力而为。我目前正在开发一个项目,其中他们有一个结构(称为集合),其中包含指向一组结构(称为 objs)的指针。要访问这些结构集,on 必须遍历它们的内存地址(如数组)。主结构在其集合中具有结构的数量。我就是这样做的

我的问题是,链表会更安全、更快还是更好?一个结构数组怎么样?

谢谢。

0 投票
1 回答
198 浏览

c - 两个线程可以同时读取同一个 CONST 内存块吗

内存块在程序开始时被初始化和设置并且没有改变(CONST)。例如:

静态常量 int a = 10;

如果它依赖于环境/架构,那么这些设置是否安全:

  • 英特尔/AMD
  • 赢/Linux 32/64位
  • 每个核心的线程或一个核心的所有线程。
0 投票
2 回答
64695 浏览

c - Why am I getting this memory access error 'double free or corruption'?

I am getting the following type of error. I know it has something to do with me improperly accessing memory, but I don't exactly how. Please help me see where I have gone wrong.

*note I have simplified my function and it is not obvious what the variables are doing, I just need to know how I am implementing the function incorrectly or where I am misusing memory access.

The error I am given:

0 投票
3 回答
1000 浏览

c# - 如何读取对象变量的字节(现在它在 RAM 中)并通过它在 C# 中的字节重新创建对象?

我想在 C# okey 中访问对象的字节,例如:

在 WCF 中序列化一个类,序列化程序读取类对象的所有字节,最后是 SOAP 消息!

像这样的事情你知道一种读取对象字节并通过其字节重新创建对象的方法