问题标签 [memory-address]

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

assembly - x86 和内存寻址

我一直在阅读我拿起的一本汇编书中的内存模型,我有一两个问题。假设地址总线有 32 条线,数据总线有 32 条线,CPU 是 32 位的(为简单起见)。现在如果 CPU 发出读取请求并发送 32 位地址,但只需要 8 位,那么所有 32 位都回来了吗?此外,内存中的地址仍然按字节寻址,对吗?那么获取一个字节会将 0000 0001 带回地址 0000 0004 吗?

0 投票
5 回答
7083 浏览

c++ - 如何找到内存中数据的地址?

我需要找到一种方法来找到另一个程序的值的地址。我事先找到了地址,但是在我关闭并重新打开程序而不再次搜索它们之后我不知道如何再次找到它们(我需要程序自己找到它们)。任何人都知道我怎么能做到这一点(对不起,如果我不清楚我不知道如何解释它真的)如果你感到困惑只是问,​​我会尽量说清楚

我正在使用 C++

0 投票
2 回答
402 浏览

c++ - c++ 地址字符串 -> 长

我有一个地址示例:0x003533,它是一个字符串,但要使用它,我需要它是一个 LONG 但我不知道该怎么做:S 有人有解决方案吗?

所以字符串:“0x003533”到长0x003533 ??

0 投票
4 回答
1192 浏览

c - C 指针和地址

我一直认为 *&p = p = &*p 在 C 中。我尝试了以下代码:

第一个 printf 行(第 13 行)给了我地址:

40b0a8 40b0a8 40b0a8

这与预期的相同。但是当我添加第二行 printf 时,Borland 抱怨道:

“first.c”:E2027 必须在第 14 行的函数 main 中获取内存位置的地址

我期待得到:

40b0a9 40b0a9 40b0a9。

似乎第 14 行的表达式 *&(ap+1) 是这里的罪魁祸首。我认为第 14 行的所有三个指针表达式都是等价的。为什么我想错了?

第二个相关问题:线

指向数组 a 的第一个元素。我用了

指向数组 a 的第 5 个元素。

是表达式

和表达式一样

最后一个表达式是否比前一个表达式更冗长?

非常感谢...

0 投票
2 回答
238 浏览

c - 分配的内存地址冲突

我不明白这是怎么发生的。这是我的代码的一部分..

当我使用 gdb 进行调试时,我发现“i”被分配在先前分配的内存地址上。

node->path->next 已经在这个函数之外定义了。但是正如您所看到的,它们共享相同的地址,当i计数器更改时,在某些时候使指针指向另一个位置。

我在 solaris 平台上使用 gcc 编译它 任何帮助将不胜感激..

0 投票
3 回答
12150 浏览

c - 数组地址与数组地址[0] - C 语言

我的问题是为什么数组的地址与其第一个位置的地址不同?

我正在尝试编写自己的 malloc,但首先我只是分配一块内存并使用地址。我的代码大致如下:

&mallocbuff 每次运行时都是同一个地址。&mallocbuff[0] 每次都是一些随机地址。我期待地址相互匹配。谁能解释为什么不是这样?

0 投票
2 回答
423 浏览

ada - ada中的地址表示

我在下面粘贴了一个 Ada 语言的代码。我需要对一些实现进行一些说明。

现在我的疑问是1)P2 + Storage_Offset'(4)实际上是什么意思。这是否意味着它返回数组中下一个元素的地址,即Ada中的'B'.Storage_Offset'(4)-这样做表示 4 位或 4 字节的内存。2) 如果我假设 Last_Address 指向数组的最后一个元素“K”,那么算术 Storage_Offset'(40) 如何满足实际实现?

如果您需要更多说明,请回复我。

请假设该功能不存在。事实上,我有一些 ada 文件,我的工作是将它们转换为 C 文件。因为我是 ada 的初学者,所以我遇到了很多问题。如果有任何混淆,请见谅

谢谢麦迪

0 投票
2 回答
13208 浏览

memory-address - 如何正确计算地址空间?

以下是我在计算机工程课程中的最后一次测试中给出的问题示例。有人介意向我解释如何获取每个的开始/结束地址吗?我已经在底部列出了正确的答案...

MSP430F2410 器件的地址空间为 64 KB(基本的 MSP430 架构)。如果我们知道以下内容,请填写下表。地址空间的前 16 个字节(从地址 0x0000 开始)为特殊功能寄存器(IE1、IE2、IFG1、IFG2 等)保留,接下来的 240 个字节为 8 位外围设备保留,下一个256 字节为 16 位外围设备保留。RAM 内存容量为 2 KB,从地址 0x1100 开始。地址空间的顶部是为代码和中断向量表保留的 56KB 闪存。

0 投票
1 回答
408 浏览

assembly - 在程序集中使用/跳转之前检查地址是否存在?

假设我已经将一些随机地址加载0x00001234eax. 有没有办法在跳转到它或取消引用它之前测试这个地址是否有效/存在?还是我必须实现异常处理程序?

0 投票
5 回答
12687 浏览

pointers - 游戏培训师如何更改动态内存中的地址?

假设我是一个游戏,并且我有一个int*包含我的健康的全局变量。游戏培训师的工作是将此值修改为任何值以实现上帝模式。我查看了有关游戏培训师的教程以了解它们的工作原理,总体思路是使用内存扫描仪尝试查找某个值的地址。然后通过注入 dll 或其他方式修改此地址。

但是我制作了一个带有全局变量的简单程序,int*每次运行应用程序时它的地址都会发生变化,所以我不明白游戏培训师如何硬编码这些地址?还是我的例子错了?

我错过了什么?