Tag: xenomai

将pthread作为输入并暂停的函数

我正在尝试从POSIX中的ExpressLogic移植实时Thread_Metric,以便为我的论文对Linux,Xenomai和RTAI的PREEMPT_RT补丁进行基准测试。 它们提供了具有以下function的C源文件,您必须实现这些function才能使基准测试工作: void tm_initialize(void (*test_initialization_function)(void)); int tm_thread_create(int thread_id, int priority, void (*entry_function)(void)); int tm_thread_resume(int thread_id); int tm_thread_suspend(int thread_id); void tm_thread_relinquish(void); void tm_thread_sleep(int seconds); int tm_queue_create(int queue_id); int tm_queue_send(int queue_id, unsigned long *message_ptr); int tm_queue_receive(int queue_id, unsigned long *message_ptr); int tm_semaphore_create(int semaphore_id); int tm_semaphore_get(int semaphore_id); int tm_semaphore_put(int semaphore_id); int tm_memory_pool_create(int pool_id); int tm_memory_pool_allocate(int pool_id, unsigned char […]

错误使用void表达式无效

我有一个函数int rt_task_start (RT_TASK *task, void(*task_func)(void *arg), void *arg)其中在第二个参数中我传递一个带参数的函数。 当我当时只传递一个函数名时没有问题。(正如预期的那样,它正在工作)。 rt_task_start(&demo_task1, demo, 1); 但是当我传递rt_task_start(&demo_task1, demo(&val), 1); 它给了我错误error: invalid use of void expression 。 之前定义了变量val。 int val = 0; 当我用这个rt_task_start(&demo_task1, demo(val), 1);调用时rt_task_start(&demo_task1, demo(val), 1); 这显示错误Warning passing argument 1 of ‘demo’ makes pointer from integer without a cast然后error: invalid use of void expression 。 int *val; *val = […]