You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
*`BYTEHOOK_CALL_PREV` 宏在 C++ 源文件中的用法是:第一个参数传递当前的 hook 函数名(上例中为 `my_strlen()`),后面按照顺序依次传递函数的各个参数。(`BYTEHOOK_CALL_PREV` 宏在 C 源文件中的用法稍有不同,详见:[Native API 手册](native_manual.zh-CN.md))
*`BYTEHOOK_CALL_PREV` 宏在 C++ 源文件中的用法是:第一个参数传递当前的 proxy 函数名(上例中为 `my_strlen()`),后面按照顺序依次传递函数的各个参数。(`BYTEHOOK_CALL_PREV` 宏在 C 源文件中的用法稍有不同,详见:[Native API 手册](native_manual.zh-CN.md))
230
+
* 每个 proxy 函数中都必须执行 ByteHook 的 stack 清理逻辑。有两种方式:
231
231
232
-
1. 在 C++ 代码中:在“hook 函数”开头调用一次 `BYTEHOOK_STACK_SCOPE` 宏。(其中会通过析构函数的方式,来保证 stack 清理逻辑一定会被执行)
233
-
2. 在 C 代码中:请在“hook 函数”的每一个“返回分支”末尾都调用 `BYTEHOOK_POP_STACK` 宏。例如:
232
+
1. 在 C++ 代码中:在“proxy 函数”开头调用一次 `BYTEHOOK_STACK_SCOPE` 宏。(其中会通过析构函数的方式,来保证 stack 清理逻辑一定会被执行)
233
+
2. 在 C 代码中:请在“proxy 函数”的每一个“返回分支”末尾都调用 `BYTEHOOK_POP_STACK` 宏。例如:
0 commit comments