这个问题可能含糊不清,但我缺乏信息......
假设我正在创建一个项目(用C语言编写)。我有两个任务,A_task和B_task。
我需要一个将从A_task和B_task调用的函数。这将是一个特定的函数(假设为func_A),因此将作为库函数。
所以,安排项目文件。我有两个文件列表:一个用于A_task,另一个用于B_task。如果我将包含func_A的.c文件添加到A_task的文件列表中,该函数将自动属于A_task。 (?)
之后,我将在内核空间的全局函数表中注册func_A的地址,以便其他任务可以通过全局函数表调用此函数。
我的问题是关于属于某个任务的功能。无论我如何安排全局函数表,似乎将被调用的函数属于某个任务。所以B_task通过全局函数表调用func_A,但是func_A属于A_task,所以A_task会唤醒,例如?
答案 0 :(得分:1)
没有
函数不属于C中的任务,进程或其他任何东西。特别是因为C没有任务或进程的标准概念。
目前还不清楚你在做什么,特别是当你开始讨论内核和函数表时。
假设一个典型的系统,功能只是被动的可执行代码片段。您可以根据需要从所有任务中执行一项任务。如果函数的名称在特定任务中运行的代码中是可见的,那么该代码可以调用该函数,并且没有魔法能够通过与特定任务的某种“关联”来阻止它。