问题标签 [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.
c++ - 为什么这运行良好?(访问范围外变量的地址)
为什么这运行良好?(并且连续几次..)
不d
应该超出范围并0029FD98
解除分配吗?为什么我的操作系统不生我的气?我只是超级幸运吗?
c++ - 访问数组 C++ 的最后一个地址的最安全方法
想象这些:
有没有“更安全的”?
c - 如何有效地将大数组加载到 GPU 共享内存?
我想将一个大数组加载到 GPU 共享内存。当我像下面这样使用它时:
1:int索引=threadidx.x;
2:共享无符号字符 x[1000];
3: x[i] = 数组[i];
那么如果我们调用一个有 1000 个线程和一个块的内核代码,每个线程都会发生一次内存访问?是否可以通过一次内存访问加载此数组并将其加载到共享内存?
任何建议将不胜感激。
c - 哪个for循环更好?
以下问题是在 Microsoft 分班考试中提出的。我无法弄清楚哪个会更好。有人可以帮助我吗?
代码1:
代码2:
哪个是对的?
- 代码 1 更快
- 代码 2 更快
- 两者在 RISC 架构中是相同的
- 两者都差不多
c# - How to know WHAT or WHO accesses a variable in VS Debugger for C#?
I am debugging an existing C# program. There are of course events and event handlers etc.. My problem is I don't know where and when in the program this specific variable named X for the purpose of the question is being updated.
When we worked with emulators and microprocessors, I could see what code accesses a specific address in the memory but I am not sure if I could see the same thing in C# debugger.
linux - 在linux中使用最大内存的程序
假设有 3-4 个高度内存密集型应用程序在 linux 中运行 - 例如,任何视频处理应用程序。这些应用程序使用不同数量的 RAM,它们的内存访问模式也不同。此外,假设这些应用程序在不同的内核中运行。
假设所有这些程序运行 5 秒。
我试图找到的 -
这些应用程序中的哪些功能在特定时刻使用最大内存?我需要占用最大内存资源的前 2-3 个函数的名称。
如果多个函数在同一时刻需要大量内存(高于阈值限制),它们的名称是什么以及它们需要多长时间的内存。
我需要一些帮助——实际上无法理解如何进行。使用 perf 工具进行缓存未命中计算会有帮助吗?我是linux新手,请写一点解释。先感谢您。
android - Android 5 无法访问内存
我正在将一个应用程序移植到 Android 5。这个应用程序调用
在 dir 中,我想创建一个子目录并使用子目录中的文件。
使用 Android 5,我无法读取 dir - 这与 Android 4 不同。所以我打电话
获得访问权限 - 但在运行 Android 5.0.1 或 5.1 的模拟器上,这只会打开一个空白列表,除了点击返回之外没有机会做任何事情:
怎么了?
debugging - valgrind 是否将内存的执行视为写入?
我有一个 JIT。我设置了一个观察点(watch
- 所以它应该只在写入时触发)到一个函数(全部)的jitted代码,如this answer中所示。我提供--vgdb=full
给 valgrind,这意味着必须检测所有指令,并且我应该看到执行在停止发生的位置准确停止。
然而,观察点在被观察的函数中间触发了几次。我注意到执行停止的指令是基本的块入口点(它们都遵循 ajump
或 acall
或者它是我函数的第一条指令)。
在观察点触发时,我看不到对观察内存的实际写入。那么 valgrind 是否认为执行此内存(其中一些)是一次写入?或者是其他一些 valgrind 的怪事,还是只是我?
请说清楚。
我的 valgrind 版本是 3.10.0.SVN,gdb 是 7.7.1(Ubuntu 7.7.1-0ubuntu5~14.04.2)。
c++ - 关于使用范围外变量内存的编译器警告
在我之前的问题(为什么在 lambda 中通过引用捕获的值被破坏?)答案是“因为您访问超出范围的变量的内存”。
在最常见的编译器(我的意思是Visual C++、gcc和clang)中是否存在关于这种不正确内存访问的编译器警告?
vb.net - 后续对象引用与后续方法调用
在我多年的编程生涯中,给我留下的印象是,将方法调用中的值存储到变量中,然后重复访问该变量比仅对方法进行后续调用要快得多。
例如,我有以下代码,它接受一个Integer
变量,将 a 附加String
到它,然后返回结果。
我的期望是多次访问先前声明的变量比随后调用此方法要快得多,该方法处理Integer
,但是我的结果却完全相反。
那么为什么多次调用一个函数似乎比只调用一个函数,然后多次访问内存要快呢?