我正在设计一个线程调度程序,它需要能够交换线程的上下文,以便所有线程可以在单个线程NIOS-II Altera处理器上同时运行。我正在使用Nios-II程序员和c来完成这个项目。目前,我正在编写一个创建线程的函数。我需要做的是使用malloc在堆上为每个线程分配一个4KB作为其堆栈空间。然后我需要分配线程的SP地址值,以便稍后我可以设置它的初始上下文。我想知道,我如何获得malloc的顶级地址,正如我想要做的那样:
SP = malloc的顶级地址 - 76
并将线程的上下文存储在堆栈的顶部。
我目前的代码:
Rails.application.assets.find_asset(file).digest_path
答案 0 :(得分:3)
#define bufflen something
char *buf = malloc(bufflen*sizeof(char));
char *topaddress =(buf+bufflen);
char *sp = topaddress-76;