问题标签 [function-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 回答
2015 浏览

function - 如何在 C/C++ 中从 dll 调用导出的函数?

我的目标是通过它的地址调用一些函数。我该怎么做?

我已经为这个目标做了下一个工作,但首先(1) - 我有访问冲突(不知道为什么),第二个我有一些调用函数的问题是带有 ESP 值的 ASM ......

第一个(访问冲突的问题):

第二个(运行时的问题与 ESP 值):

我该如何解决这个问题?

附言

另一个主要问题是:

如何在运行时动态计算函数地址以便下次调用?

谢谢,

此致!

0 投票
2 回答
81 浏览

c - 函数地址一致?

这是在 Windows 7 64 位上使用 C 语言和 VC++ 2010。

有没有办法可靠且一致地访问函数的地址(c 链接),以便在每次运行程序时它都是相同的地址?

0 投票
1 回答
1155 浏览

shell - 在 shell 中查找变量和函数内存地址

在shell编程中,有没有办法找到变量和函数地址?当我们输出 &x 时,就像在 c 或 c++ 中一样,我们可以获得 x 内存地址。

0 投票
1 回答
84 浏览

c - 与c中的函数地址混淆

我很困惑!以下所有 printf 都是打印函数地址的正确方法吗?让我告诉你我的困惑。每次我运行所有这些 printf(即第一个 printf、第二个 printf 和第三个 printf)时,在输出中我得到 02D4 02D4 02D4 但是如果我删除或评论第一个和第二个 printf,当我删除第三个时,我得到以下输出 02BA printf 语句,我得到以下输出 02D0 再次取消注释所有这三个时,我得到: 02D4 02D4 02D4 为什么一个语句会影响其他 printf 行的输出?这真的不是函数的地址吗?我听说 s 和 &s 给出与地址相同的值(就像数组一样)。但是在这里我很困惑为什么当我尝试打印 b 时 s 和 &s 会受到影响,其中 b=s 或 &s。

0 投票
2 回答
1858 浏览

c++ - 如何从当前可执行文件中获取函数地址?

我需要知道使用 C++ 的 Solaris 10 上当前可执行文件的函数地址(我使用的是 GNU g++ 4.9.2)。例如,我有一个函数说:void doSomething(const char *p),它可能会或可能不会在当前可执行文件中定义。因此,我想在当前可执行文件中搜索该函数,如果存在,则调用该函数,否则执行一些默认操作。我怎么做?dlsym 有帮助吗?请帮助我了解语法和损坏的名称。

0 投票
0 回答
1290 浏览

function - 如何通过转储中的函数偏移地址获取行号

我第一次使用 kasan 并收到以下类型的错误

如何从 kmalloc_oob_right+0x65/0x75 获取错误代码的行号

0 投票
3 回答
54 浏览

python - 在 Python 中打印函数地址的奇怪行为

我在Python中编写了以下代码:

我认为正确的输出应该是:

但输出是:

代码打印None并且它的行为很奇怪。

为什么print函数的行为是奇怪的?

0 投票
1 回答
112 浏览

c - 函数地址错误

这是代码:

使用它们的代码会崩溃。调试器显示地址正常,例如

但是,当这些函数的地址由实际的 C 代码而不是由调试器获取时,它就不再正确并且使用代码会因为大小为负数而崩溃:

带下划线的函数只包含一条指令,例如jmp nseel_asm_assign

如何在没有下划线的情况下获取实际函数的地址?

更新:如果您想知道我为什么要编写这样的代码,那不是我,而是第三方,并且在使用 VC++ 6.0 构建时它工作得很好。

0 投票
1 回答
65 浏览

c - 为什么我运行代码前后函数地址不一样?

源代码在这里

并编译gcc -O0 gcd.c -o gcd -g

在我运行 gcd 之前,gcd()地址是0x1169. 运行之后,同一个函数的地址就变成了0x555555555169

为什么在运行代码之前和之后会有如此大的差异?

0 投票
1 回答
124 浏览

c++ - “bool *”类型的值不能分配给“bool (*)(intenemy_piece)”类型的实体

我无法为之前创建的函数指针声明地址,我无法理解我做错了什么。

bool我声明了指向返回 a并接受 1 个整数参数的函数的函数指针。

根据具体情况,函数指针应指向以下两个函数之一:bool is_blackbool is_white将指针分配给is_black函数的地址时没有错误,但是当我尝试对is_white做同样的事情时,我得到了这个错误。

通过尝试在下一个函数(' void cover_fields ')中做同样的事情,我没有得到任何错误。