问题标签 [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.
c - 提取位
在 C 语言中,我有一个代表地址的 32 位字(我将它存储在一个无符号长整数中,希望没问题)。现在根据我的收集,地址的一部分包含页码,另一部分包含偏移量。我想知道如何仅提取给我页码的位。我已经计算出前 22 个最高有效位是页码,其他 10 个位是页偏移量。我怎样才能只抓住作为页码的位?我想我可以用一些按位运算来做到这一点,但不知道怎么做。
java - Java中变量的内存地址
请看下面的图片。当我们在 java 中使用关键字创建对象时new
,我们从操作系统获取内存地址。
当我们编写时,out.println(objName)
我们可以看到一个“特殊”字符串作为输出。我的问题是:
- 这是什么输出?
如果是操作系统给我们的内存地址:
a)如何将此字符串转换为二进制?
b) 我怎样才能得到一个整数变量地址?
c - 如何从其成员的地址获取结构的起始地址
在 C 语言中,如何从其成员的地址中获取结构的起始地址?
并且ptr1
是成员的地址member1
,obj1
如何定义
宏#define start_add(ptr1, type1, member1)
来获取obj1的
起始地址?
delphi - 在 Delphi 中通过其内存地址调用可变参数 C 函数
假设我在 C++ 中有一个函数,我在其中使用指向其内存地址的指针调用它,并使用typedef
. 现在,我怎样才能在 Delphi 中做同样的事情?
例如:
然后,我可以用:Function("string", etc);
.
在 Delphi 中,有没有办法在不使用汇编指令的情况下做到这一点?
请注意,它是一个可变参数函数。
c++ - 从另一个程序分配一个特定的内存地址,并改变它的值
最近我放学了几天,想用 C++ 做一个处理内存地址的小程序实验。
我想看到的是,如果一个当前正在运行的程序(我们称之为程序 A)在堆中创建了一个指向 int 对象的指针,是否可以被另一个程序看到并被修改(程序 B)。
所以对于程序 A,这是我的基本代码:
程序 A 的输出:
对于程序 B,我查看了如何通过此链接分配特定的内存地址:http: //www.devx.com/tips/Tip/14104
程序 B 的代码是:
程序 B 的输出:
我不太明白。我期待 15 的显示*p
,但它做了我没想到的事情。
我也尝试分配*p
一个类似的数字,*p = 2000
但是当我尝试这样做时它也崩溃了。
此外,当我显示指针和程序 A ( cout << &pint;
) 和程序 B ( cout << &p;
) 的地址时,它们都显示了相同的内存地址。
有谁知道到底发生了什么?我很感兴趣,但对正在发生的事情感到困惑。另外,我可以做我在 C++/C 中尝试的事情吗?
** 编辑 ** 抱歉没有提及我的平台,但我目前使用的是 Window 7 Professional
debugging - Visual Studio C++ 调试器,从地址获取值
如果您只知道变量的地址及其类型,是否可以在 Visual Studio 调试器中看到它的值?此外,是否可以在条件断点或数据断点中使用此地址?
我已经尝试过像这样的普通转换: (bool)(*0x05dc05d1) 这显然很愚蠢。;)
谢谢
objective-c - 目标c重新分配点
由于某种原因,我无法解决这个问题......
我有一个带有 ivar(值)的类(模型)。我想将值传递给方法并将值 ivar 更改为指向其他内容。这会将 aValue 更改为指向 newString。那么,如何让 model.value 指向 newString 而无需说model.value = newString
?
另外,如何让这个该死的代码块正常工作?
apache-flex - 如何在运行时打印出对象内存地址?像java中的this.toString()
如何将 AS3 对象的内存位置写入标签?我需要它来进行调试。谢谢
visual-studio-2008 - 如何在 Visual Studio 2008 中编辑值?
我正在制作一个 Visual Basic 2008 应用程序,并且希望能够更改特定内存地址的值。例如,我想将内存地址处的值更改0xB7CE50
为100000
. 有什么简单的方法可以做到这一点?
c - 对于缓冲区溢出,使用 pthread 时的堆栈地址是什么?
我正在学习计算机安全课程,并且有一个额外的学分分配将可执行代码插入缓冲区溢出。我有我正在尝试操作的目标程序的 c 源代码,并且我已经到了可以成功覆盖当前函数堆栈帧的 eip 的地步。但是,我总是遇到分段错误,因为我提供的地址总是错误的。问题是当前函数位于 pthread 内部,因此,堆栈的地址似乎总是在程序的不同运行之间发生变化。是否有任何方法可以在 pthread 中查找堆栈地址(或用于估计 pthread 中的堆栈地址)?(注意:pthread_create 的第二个参数为空,所以我们没有手动分配堆栈地址)