对于一个特殊的内存管理软件,我想指定每个函数堆栈的起始地址。它的功能应该与pthread_attr_setstackaddr非常相似,但我希望设置每个函数的堆栈地址,而不是设置每个线程的堆栈地址。例如,有没有函数/方法可以像这样设置堆栈地址:int main(){ SetFuncStack(func1); int b = 10; func2();}更新:所以我对任何可能的技术都持开放态度,例如,如果我必须
000b84d0 T _ZN17ACE_Event_Handler13handle_signalEiP7siginfoP8ucontext 00079f10 T _ZN18ACE_Service_Config13handle_signalEiP7siginfoP8ucontext000f26d0 T _ZN19ACE_Process_Manager13handle_signalEiP7siginfoP8ucontext 0007ee70 T _ZN19ACE_Service_Manager13handle_signalEiP7siginfo
dler takes three arguments, as follows:
handler(int sig, siginfo_t *info, void *ucontext) ...当手册页声明它是一个void *时,它为什么是一个ucontext_t *?ucontext
This is a pointer to a ucontext_t structure, cast to void *.Furt
即使我包含sys/ucontext.h,它也不能识别我应该能够用于ucontext_t对象的函数,比如。我不应该在Linux C++项目中使用这些函数吗?我正在编写的代码:#include <string.h>// If I use ucontext.h instead, it gives the error: cannot open source f